Package org.apache.sysds.hops.rewrite
Class RewriteIndexingVectorization
java.lang.Object
org.apache.sysds.hops.rewrite.HopRewriteRule
org.apache.sysds.hops.rewrite.RewriteIndexingVectorization
Rule: Indexing vectorization. This rewrite rule set simplifies
multiple right / left indexing accesses within a DAG into row/column
index accesses, which is beneficial for two reasons: (1) it is an
enabler for later row/column partitioning, and (2) it reduces the number
of operations over potentially large data (i.e., prevents unnecessary MR
operations and reduces pressure on the buffer pool due to copy on write
on left indexing).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrewriteHopDAG(Hop root, ProgramRewriteStatus state) Handle a predicate hop DAG with exactly one root.rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) Handle a generic (last-level) hop DAG with multiple roots.
-
Constructor Details
-
RewriteIndexingVectorization
public RewriteIndexingVectorization()
-
-
Method Details
-
rewriteHopDAGs
Description copied from class:HopRewriteRuleHandle a generic (last-level) hop DAG with multiple roots.- Specified by:
rewriteHopDAGsin classHopRewriteRule- Parameters:
roots- high-level operator rootsstate- program rewrite status- Returns:
- list of high-level operators
-
rewriteHopDAG
Description copied from class:HopRewriteRuleHandle a predicate hop DAG with exactly one root.- Specified by:
rewriteHopDAGin classHopRewriteRule- Parameters:
root- high-level operator rootstate- program rewrite status- Returns:
- high-level operator
-