Package org.apache.sysds.hops.rewrite
Class RewriteIndexingVectorization
- java.lang.Object
-
- org.apache.sysds.hops.rewrite.HopRewriteRule
-
- org.apache.sysds.hops.rewrite.RewriteIndexingVectorization
-
public class RewriteIndexingVectorization extends HopRewriteRule
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 Constructor Description RewriteIndexingVectorization()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Hop
rewriteHopDAG(Hop root, ProgramRewriteStatus state)
Handle a predicate hop DAG with exactly one root.ArrayList<Hop>
rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state)
Handle a generic (last-level) hop DAG with multiple roots.
-
-
-
Method Detail
-
rewriteHopDAGs
public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state)
Description copied from class:HopRewriteRule
Handle a generic (last-level) hop DAG with multiple roots.- Specified by:
rewriteHopDAGs
in classHopRewriteRule
- Parameters:
roots
- high-level operator rootsstate
- program rewrite status- Returns:
- list of high-level operators
-
rewriteHopDAG
public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state)
Description copied from class:HopRewriteRule
Handle a predicate hop DAG with exactly one root.- Specified by:
rewriteHopDAG
in classHopRewriteRule
- Parameters:
root
- high-level operator rootstate
- program rewrite status- Returns:
- high-level operator
-
-