Modifier and Type | Class and Description |
---|---|
class |
AggBinaryOp |
class |
AggUnaryOp |
class |
BinaryOp |
class |
DataGenOp
A DataGenOp can be rand (or matrix constructor), sequence, and sample -
these operators have different parameters and use a map of parameter type to hop position.
|
class |
DataOp
A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input,
but all types can have parameters (e.g., for csv literals of delimiter, header, etc).
|
class |
DnnOp |
class |
FunctionOp
This FunctionOp represents the call to a DML-bodied or external function.
|
class |
IndexingOp |
class |
LeftIndexingOp |
class |
LiteralOp |
class |
MultiThreadedHop
Optional hop interface, to be implemented by multi-threaded hops.
|
class |
NaryOp
The NaryOp Hop allows for a variable number of operands.
|
class |
ParameterizedBuiltinOp
Defines the HOP for calling an internal function (with custom parameters) from a DML script.
|
class |
QuaternaryOp
Note: this hop should be called AggQuaternaryOp in consistency with AggUnaryOp and AggBinaryOp;
however, since there does not exist a real QuaternaryOp yet - we can leave it as is for now.
|
class |
ReorgOp
Reorg (cell) operation: aij
Properties:
Symbol: ', rdiag, rshape, rsort
1 Operand (except sort and reshape take additional arguments)
Semantic: change indices (in mapper or reducer)
NOTE MB: reshape integrated here because (1) ParameterizedBuiltinOp requires name-value pairs for params
and (2) most importantly semantic of reshape is exactly a reorg op.
|
class |
TernaryOp
Primary use cases for now, are
quantile (<n-1-matrix>, <n-1-matrix>, <literal>): quantile (A, w, 0.5)
quantile (<n-1-matrix>, <n-1-matrix>, <scalar>): quantile (A, w, s)
interquantile (<n-1-matrix>, <n-1-matrix>, <scalar>): interquantile (A, w, s)
Keep in mind, that we also have binaries for it w/o weights. |
class |
UnaryOp |
Modifier and Type | Method and Description |
---|---|
Hop |
DataGenOp.getConstantValue() |
Hop |
DataGenOp.getInput(String key) |
Hop |
DataGenOp.getParam(String key) |
Hop |
ParameterizedBuiltinOp.getParameterHop(String name) |
Hop |
ParameterizedBuiltinOp.getTargetHop() |
Hop |
Hop.resetVisitStatus() |
Modifier and Type | Method and Description |
---|---|
ArrayList<Hop> |
Hop.getInput() |
ArrayList<Hop> |
FunctionOp.getOutputs() |
ArrayList<Hop> |
Hop.getParent() |
Modifier and Type | Method and Description |
---|---|
void |
Hop.addInput(Hop h) |
static boolean |
OptimizerUtils.allowsToFilterEmptyBlockOutputs(Hop hop) |
static void |
HopsException.check(boolean condition,
Hop hop,
String message,
Object... objects)
If the condition fails, print the Op and its Id, along with the message formatted with objects.
|
boolean |
AggBinaryOp.compare(Hop that) |
boolean |
DataGenOp.compare(Hop that) |
abstract boolean |
Hop.compare(Hop that) |
boolean |
IndexingOp.compare(Hop that) |
boolean |
NaryOp.compare(Hop that) |
boolean |
DnnOp.compare(Hop that) |
boolean |
QuaternaryOp.compare(Hop that) |
boolean |
AggUnaryOp.compare(Hop that) |
boolean |
TernaryOp.compare(Hop that) |
boolean |
BinaryOp.compare(Hop that) |
boolean |
LiteralOp.compare(Hop that) |
boolean |
UnaryOp.compare(Hop that) |
boolean |
ReorgOp.compare(Hop that) |
boolean |
ParameterizedBuiltinOp.compare(Hop that) |
boolean |
LeftIndexingOp.compare(Hop that) |
boolean |
FunctionOp.compare(Hop that) |
boolean |
DataOp.compare(Hop that) |
double |
Hop.computeBoundsInformation(Hop input) |
static double |
Hop.computeBoundsInformation(Hop input,
LocalVariableMap vars) |
static double |
Hop.computeBoundsInformation(Hop input,
LocalVariableMap vars,
HashMap<Long,Double> memo) |
static long |
Hop.computeSizeInformation(Hop input) |
long |
Hop.computeSizeInformation(Hop input,
LocalVariableMap vars) |
long |
Hop.computeSizeInformation(Hop input,
LocalVariableMap vars,
HashMap<Long,Long> memo) |
static Lop |
BinaryOp.constructSPAppendLop(Hop left,
Hop right,
Types.DataType dt,
Types.ValueType vt,
boolean cbind,
Hop current) |
static Lop |
Hop.createOffsetLop(Hop hop,
boolean repCols) |
DataCharacteristics |
MemoTable.getAllInputStats(Hop input) |
static double |
OptimizerUtils.getTotalMemEstimate(Hop[] in,
Hop out) |
static double |
OptimizerUtils.getTotalMemEstimate(Hop[] in,
Hop out) |
static double |
OptimizerUtils.getTotalMemEstimate(Hop[] in,
Hop out,
boolean denseOut) |
static double |
OptimizerUtils.getTotalMemEstimate(Hop[] in,
Hop out,
boolean denseOut) |
boolean |
MemoTable.hasInputStatistics(Hop h) |
void |
MemoTable.init(Hop hop,
RecompileStatus status) |
void |
Hop.refreshColsParameterInformation(Hop input,
LocalVariableMap vars) |
void |
Hop.refreshColsParameterInformation(Hop input,
LocalVariableMap vars,
HashMap<Long,Long> memo) |
void |
Hop.refreshRowsParameterInformation(Hop input,
LocalVariableMap vars) |
void |
Hop.refreshRowsParameterInformation(Hop input,
LocalVariableMap vars,
HashMap<Long,Long> memo) |
static boolean |
BinaryOp.requiresReplication(Hop left,
Hop right) |
static void |
Hop.resetRecompilationFlag(Hop hops,
LopProperties.ExecType et,
Recompiler.ResetType reset) |
static double |
OptimizerUtils.rEvalSimpleDoubleExpression(Hop root,
HashMap<Long,Double> valMemo) |
static double |
OptimizerUtils.rEvalSimpleDoubleExpression(Hop root,
HashMap<Long,Double> valMemo,
LocalVariableMap vars) |
static long |
OptimizerUtils.rEvalSimpleLongExpression(Hop root,
HashMap<Long,Long> valMemo)
Function to evaluate simple size expressions over literals and now/ncol.
|
static long |
OptimizerUtils.rEvalSimpleLongExpression(Hop root,
HashMap<Long,Long> valMemo,
LocalVariableMap vars) |
void |
DataGenOp.setInput(String key,
Hop hop,
boolean linkParent) |
Modifier and Type | Method and Description |
---|---|
void |
Hop.addAllInputs(ArrayList<Hop> list) |
Lop |
DnnOp.constructDnnLops(LopProperties.ExecType et,
ArrayList<Hop> inputs) |
void |
MemoTable.extract(ArrayList<Hop> hops,
RecompileStatus status) |
DataCharacteristics[] |
MemoTable.getAllInputStats(ArrayList<Hop> inputs) |
void |
MemoTable.init(ArrayList<Hop> hops,
RecompileStatus status) |
static void |
Hop.resetRecompilationFlag(ArrayList<Hop> hops,
LopProperties.ExecType et,
Recompiler.ResetType reset) |
static void |
Hop.resetVisitStatus(ArrayList<Hop> hops) |
static void |
Hop.resetVisitStatus(ArrayList<Hop> hops,
boolean force) |
Constructor and Description |
---|
DataGenOp(Types.OpOpDG mthd,
DataIdentifier id,
HashMap<String,Hop> inputParameters)
Creates a new Rand HOP.
|
DataOp(String l,
Types.DataType dt,
Types.ValueType vt,
Types.OpOpData dop,
HashMap<String,Hop> params)
READ operation for Matrix / SQL operation for tensor
This constructor supports expressions in parameters
|
DataOp(String l,
Types.DataType dt,
Types.ValueType vt,
Types.OpOpData dop,
Hop in,
HashMap<String,Hop> inputParameters)
WRITE operation for Matrix
This constructor supports expression in parameters
|
DnnOp(String l,
Types.DataType dt,
Types.ValueType vt,
Types.OpOpDnn o,
ArrayList<Hop> inp)
Create a hop from the builtin expression
|
FunctionOp(FunctionOp.FunctionType type,
String fnamespace,
String fname,
String[] inputNames,
List<Hop> inputs,
String[] outputNames,
ArrayList<Hop> outputHops) |
FunctionOp(FunctionOp.FunctionType type,
String fnamespace,
String fname,
String[] inputNames,
List<Hop> inputs,
String[] outputNames,
ArrayList<Hop> outputHops) |
FunctionOp(FunctionOp.FunctionType type,
String fnamespace,
String fname,
String[] inputNames,
List<Hop> inputs,
String[] outputNames,
boolean singleOut) |
ParameterizedBuiltinOp(String l,
Types.DataType dt,
Types.ValueType vt,
Types.ParamBuiltinOp op,
LinkedHashMap<String,Hop> inputParameters)
Creates a new HOP for a function call
|
ReorgOp(String l,
Types.DataType dt,
Types.ValueType vt,
Types.ReOrgOp o,
ArrayList<Hop> inp) |
Modifier and Type | Class and Description |
---|---|
class |
SpoofFusedOp |
Modifier and Type | Method and Description |
---|---|
static Hop |
SpoofCompiler.optimize(Hop root,
boolean recompile)
Main interface of sum-product optimizer, predicate dag.
|
Modifier and Type | Method and Description |
---|---|
static ArrayList<Hop> |
SpoofCompiler.generateCodeFromHopDAGs(ArrayList<Hop> roots) |
static ArrayList<Hop> |
SpoofCompiler.optimize(ArrayList<Hop> roots,
boolean recompile)
Main interface of sum-product optimizer, statement block dag.
|
Modifier and Type | Method and Description |
---|---|
boolean |
SpoofFusedOp.compare(Hop that) |
static ArrayList<Instruction> |
SpoofCompiler.generateCodeFromHopDAGsToInst(Hop root) |
static Hop |
SpoofCompiler.optimize(Hop root,
boolean recompile)
Main interface of sum-product optimizer, predicate dag.
|
Modifier and Type | Method and Description |
---|---|
static ArrayList<Hop> |
SpoofCompiler.generateCodeFromHopDAGs(ArrayList<Hop> roots) |
static ArrayList<Instruction> |
SpoofCompiler.generateCodeFromHopDAGsToInst(StatementBlock sb,
ArrayList<Hop> roots) |
static ArrayList<Hop> |
SpoofCompiler.optimize(ArrayList<Hop> roots,
boolean recompile)
Main interface of sum-product optimizer, statement block dag.
|
Modifier and Type | Method and Description |
---|---|
ArrayList<Hop> |
CNodeMultiAgg.getRootNodes() |
Modifier and Type | Method and Description |
---|---|
void |
CNodeMultiAgg.setRootNodes(ArrayList<Hop> roots) |
Constructor and Description |
---|
CNodeData(Hop hop) |
CNodeData(Hop hop,
long rows,
long cols,
Types.DataType dt) |
Modifier and Type | Method and Description |
---|---|
static Collection<PlanPartition> |
PlanAnalyzer.analyzePlanPartitions(CPlanMemoTable memo,
ArrayList<Hop> roots,
boolean ext) |
abstract void |
PlanSelection.selectPlans(CPlanMemoTable memo,
ArrayList<Hop> roots)
Given a HOP DAG G, and a set of partial fusions plans P, find the set of optimal,
non-conflicting fusion plans P' that applied to G minimizes costs C with
P' = \argmin_{p \subseteq P} C(G, p) s.t.
|
void |
PlanSelectionFuseCostBasedV2.selectPlans(CPlanMemoTable memo,
ArrayList<Hop> roots) |
void |
PlanSelectionFuseNoRedundancy.selectPlans(CPlanMemoTable memo,
ArrayList<Hop> roots) |
void |
PlanSelectionFuseAll.selectPlans(CPlanMemoTable memo,
ArrayList<Hop> roots) |
void |
PlanSelectionFuseCostBased.selectPlans(CPlanMemoTable memo,
ArrayList<Hop> roots) |
Modifier and Type | Method and Description |
---|---|
HashMap<Long,Hop> |
CPlanMemoTable.getHopRefs() |
Modifier and Type | Method and Description |
---|---|
void |
CPlanMemoTable.add(Hop hop,
CPlanMemoTable.MemoTableEntry me) |
void |
CPlanMemoTable.add(Hop hop,
TemplateBase.TemplateType type) |
void |
CPlanMemoTable.add(Hop hop,
TemplateBase.TemplateType type,
long in1) |
void |
CPlanMemoTable.add(Hop hop,
TemplateBase.TemplateType type,
long in1,
long in2) |
void |
CPlanMemoTable.add(Hop hop,
TemplateBase.TemplateType type,
long in1,
long in2,
long in3) |
void |
CPlanMemoTable.addAll(Hop hop,
CPlanMemoTable.MemoTableEntrySet P) |
void |
CPlanMemoTable.addHop(Hop hop) |
TemplateBase.CloseType |
TemplateMultiAgg.close(Hop hop) |
abstract TemplateBase.CloseType |
TemplateBase.close(Hop hop)
Indicates if the template must be closed at the current hop; either
due to final operations (e.g., aggregate) or unsupported operations.
|
TemplateBase.CloseType |
TemplateRow.close(Hop hop) |
TemplateBase.CloseType |
TemplateOuterProduct.close(Hop hop) |
TemplateBase.CloseType |
TemplateCell.close(Hop hop) |
int |
TemplateRow.HopInputComparator.compare(Hop h1,
Hop h2) |
int |
TemplateCell.HopInputComparator.compare(Hop h1,
Hop h2) |
Pair<Hop[],CNodeTpl> |
TemplateMultiAgg.constructCplan(Hop hop,
CPlanMemoTable memo,
boolean compileLiterals) |
abstract Pair<Hop[],CNodeTpl> |
TemplateBase.constructCplan(Hop hop,
CPlanMemoTable memo,
boolean compileLiterals)
Constructs a single cplan rooted at the given hop, according
to the plan given in the memo structure for this particular
hop and its recursive inputs.
|
Pair<Hop[],CNodeTpl> |
TemplateRow.constructCplan(Hop hop,
CPlanMemoTable memo,
boolean compileLiterals) |
Pair<Hop[],CNodeTpl> |
TemplateOuterProduct.constructCplan(Hop hop,
CPlanMemoTable memo,
boolean compileLiterals) |
Pair<Hop[],CNodeTpl> |
TemplateCell.constructCplan(Hop hop,
CPlanMemoTable memo,
boolean compileLiterals) |
boolean |
CPlanMemoTable.containsHop(Hop hop) |
static boolean |
TemplateUtils.containsOuterProduct(Hop hop) |
static boolean |
TemplateUtils.containsOuterProduct(Hop hop,
Hop probe) |
static CNodeData |
TemplateUtils.createCNodeData(Hop hop,
boolean compileLiterals) |
static LinkedList<Long> |
TemplateUtils.findRemovableConditionalPatternInOuterProduct(Hop hop) |
boolean |
TemplateMultiAgg.fuse(Hop hop,
Hop input) |
abstract boolean |
TemplateBase.fuse(Hop hop,
Hop input)
Indicates if the template can be expanded to the given hop
starting from an open template at the input.
|
boolean |
TemplateRow.fuse(Hop hop,
Hop input) |
boolean |
TemplateOuterProduct.fuse(Hop hop,
Hop input) |
boolean |
TemplateCell.fuse(Hop hop,
Hop input) |
static Types.AggOp |
TemplateUtils.getAggOp(Hop hop) |
static SpoofCellwise.CellType |
TemplateUtils.getCellType(Hop hop) |
static SpoofOuterProduct.OutProdType |
TemplateUtils.getOuterProductType(Hop X,
Hop U,
Hop V,
Hop out) |
static long |
TemplateUtils.getRowTemplateMatrixInput(Hop current,
CPlanMemoTable memo) |
static SpoofRowwise.RowType |
TemplateUtils.getRowType(Hop output,
Hop... inputs) |
static SpoofRowwise.RowType |
TemplateUtils.getRowType(Hop output,
Hop... inputs) |
static boolean |
TemplateUtils.hasCommonRowTemplateMatrixInput(Hop input1,
Hop input2,
CPlanMemoTable memo) |
static boolean |
TemplateUtils.hasMatrixInput(Hop hop) |
static boolean |
TemplateUtils.hasTransposeParentUnderOuterProduct(Hop hop) |
static boolean |
TemplateUtils.isBinaryMatrixColVector(Hop hop) |
static boolean |
TemplateUtils.isBinaryMatrixRowVector(Hop hop) |
static boolean |
TemplateUtils.isColVector(Hop hop) |
static boolean |
TemplateUtils.isMatrix(Hop hop) |
static boolean |
TemplateUtils.isOperationSupported(Hop h) |
static boolean |
TemplateUtils.isValidSingleOperation(Hop hop) |
static boolean |
TemplateUtils.isVector(Hop hop) |
static boolean |
TemplateUtils.isVectorOrScalar(Hop hop) |
boolean |
TemplateMultiAgg.merge(Hop hop,
Hop input) |
abstract boolean |
TemplateBase.merge(Hop hop,
Hop input)
Indicates if the template at the current hop can be expanded
by merging another template available for one of its other inputs
which is not yet covered by the template of the current hop.
|
boolean |
TemplateRow.merge(Hop hop,
Hop input) |
boolean |
TemplateOuterProduct.merge(Hop hop,
Hop input) |
boolean |
TemplateCell.merge(Hop hop,
Hop input) |
boolean |
TemplateMultiAgg.open(Hop hop) |
abstract boolean |
TemplateBase.open(Hop hop)
Indicates if this template can be opened at the given hop,
where hop represents bottom (first operation on the inputs)
of the fused operator.
|
boolean |
TemplateRow.open(Hop hop) |
boolean |
TemplateOuterProduct.open(Hop hop) |
boolean |
TemplateCell.open(Hop hop) |
void |
CPlanMemoTable.remove(Hop hop,
Set<CPlanMemoTable.MemoTableEntry> excludeList) |
void |
CPlanMemoTable.remove(Hop hop,
TemplateBase.TemplateType type) |
static long |
TemplateUtils.skipConditionalInOuterProduct(Hop hop,
HashMap<Long,CNode> tmp,
HashSet<Hop> inHops) |
static CNode |
TemplateUtils.skipTranspose(CNode cdataOrig,
Hop hop,
HashMap<Long,CNode> tmp,
boolean compileLiterals) |
static CNode |
TemplateUtils.wrapLookupIfNecessary(CNode node,
Hop hop) |
Modifier and Type | Method and Description |
---|---|
void |
CPlanMemoTable.pruneSuboptimal(ArrayList<Hop> roots) |
static long |
TemplateUtils.skipConditionalInOuterProduct(Hop hop,
HashMap<Long,CNode> tmp,
HashSet<Hop> inHops) |
Constructor and Description |
---|
HopInputComparator(Hop driver) |
HopInputComparator(Hop X,
Hop B1) |
MemoTableEntrySet(Hop hop,
Hop c,
TemplateBase tpl) |
Modifier and Type | Method and Description |
---|---|
static void |
IPAPassRemoveUnnecessaryCheckpoints.rRemoveCheckpointReadWrite(Hop hop) |
Modifier and Type | Method and Description |
---|---|
static Hop |
Recompiler.deepCopyHopsDag(Hop hops)
Deep copy of hops dags for parallel recompilation.
|
Modifier and Type | Method and Description |
---|---|
static ArrayList<Hop> |
Recompiler.deepCopyHopsDag(List<Hop> hops)
Deep copy of hops dags for parallel recompilation.
|
Modifier and Type | Method and Description |
---|---|
static Hop |
Recompiler.deepCopyHopsDag(Hop hops)
Deep copy of hops dags for parallel recompilation.
|
static void |
Recompiler.extractDAGOutputStatistics(Hop hop,
LocalVariableMap vars,
boolean overwrite) |
static void |
Recompiler.rClearLops(Hop hop)
Clearing lops for a given hops includes to (1) remove the reference
to constructed lops and (2) clear the exec type (for consistency).
|
static ArrayList<Instruction> |
Recompiler.recompileHopsDag(Hop hop,
ExecutionContext ec,
RecompileStatus status,
boolean inplace,
boolean replaceLit,
long tid) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDag(Hop hop,
LocalVariableMap vars,
RecompileStatus status,
boolean inplace,
boolean replaceLit,
long tid) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDag2Forced(Hop hop,
long tid,
LopProperties.ExecType et) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDagInstructions(Hop hop) |
static boolean |
Recompiler.requiresRecompilation(Hop hop) |
static int |
Recompiler.rGetMaxParallelism(Hop hop) |
static void |
Recompiler.rReplaceLiterals(Hop hop,
ExecutionContext ec,
boolean scalarsOnly)
public interface to package local literal replacement
|
static void |
Recompiler.rReplaceLiterals(Hop hop,
LocalVariableMap vars,
boolean scalarsOnly) |
static void |
Recompiler.rSetExecType(Hop hop,
LopProperties.ExecType etype) |
static void |
Recompiler.rSetMaxParallelism(Hop hop,
int k) |
static void |
Recompiler.rUpdateFunctionNames(Hop hop,
long pid) |
static void |
Recompiler.rUpdateStatistics(Hop hop,
LocalVariableMap vars) |
Modifier and Type | Method and Description |
---|---|
static ArrayList<Hop> |
Recompiler.deepCopyHopsDag(List<Hop> hops)
Deep copy of hops dags for parallel recompilation.
|
static void |
Recompiler.extractDAGOutputStatistics(ArrayList<Hop> hops,
LocalVariableMap vars) |
static void |
Recompiler.extractDAGOutputStatistics(ArrayList<Hop> hops,
LocalVariableMap vars,
boolean overwrite) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDag(StatementBlock sb,
ArrayList<Hop> hops,
ExecutionContext ec,
RecompileStatus status,
boolean inplace,
boolean replaceLit,
long tid) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDag(StatementBlock sb,
ArrayList<Hop> hops,
LocalVariableMap vars,
RecompileStatus status,
boolean inplace,
boolean replaceLit,
long tid) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDag2Forced(StatementBlock sb,
ArrayList<Hop> hops,
long tid,
LopProperties.ExecType et) |
static ArrayList<Instruction> |
Recompiler.recompileHopsDagInstructions(StatementBlock sb,
ArrayList<Hop> hops) |
static boolean |
Recompiler.requiresRecompilation(ArrayList<Hop> hops) |
static int |
Recompiler.rGetMaxParallelism(List<Hop> hops) |
static void |
Recompiler.rSetMaxParallelism(List<Hop> hops,
int k) |
static void |
Recompiler.updateFunctionNames(ArrayList<Hop> hops,
long pid) |
Modifier and Type | Method and Description |
---|---|
static Hop |
HopRewriteUtils.createComputeNnz(Hop input) |
static Hop |
HopRewriteUtils.createDataGenOp(Hop rowInput,
boolean tRowInput,
Hop colInput,
boolean tColInput,
double value) |
static Hop |
HopRewriteUtils.createDataGenOp(Hop input,
double value) |
static Hop |
HopRewriteUtils.createDataGenOp(Hop rowInput,
Hop colInput,
double value) |
static Hop |
HopRewriteUtils.createDataGenOpByVal(ArrayList<LiteralOp> values,
long rows,
long cols) |
static Hop |
HopRewriteUtils.createDataGenOpByVal(Hop rowInput,
Hop colInput,
Hop dimsInput,
Types.DataType dt,
Types.ValueType vt,
double value) |
static Hop |
HopRewriteUtils.createPartialTsmmCbind(Hop X,
Hop deltaX,
Hop tsmmIn1) |
static Hop |
HopRewriteUtils.createScalarIndexing(Hop input,
long rix,
long cix) |
static Hop |
HopRewriteUtils.createValueHop(Hop hop,
boolean row) |
static Hop |
HopRewriteUtils.getBasic1NSequenceMax(Hop hop) |
static Hop |
HopRewriteUtils.getDataGenOpConstantValue(Hop hop) |
static Hop |
HopRewriteUtils.getLargestInput(Hop hop) |
static Hop |
HopRewriteUtils.getOtherInput(Hop hop,
Hop input) |
static Hop |
HopRewriteUtils.rewireAllParentChildReferences(Hop hold,
Hop hnew)
Replace an old Hop with a replacement Hop.
|
Hop |
RewriteAlgebraicSimplificationDynamic.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteAlgebraicSimplificationStatic.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteTransientWriteParentHandling.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteCommonSubexpressionElimination.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteConstantFolding.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteIndexingVectorization.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteInjectSparkPReadCheckpointing.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteGPUSpecificOps.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteBlockSizeAndReblock.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemoveReadAfterWrite.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
abstract Hop |
HopRewriteRule.rewriteHopDAG(Hop root,
ProgramRewriteStatus state)
Handle a predicate hop DAG with exactly one root.
|
Hop |
RewriteElementwiseMultChainOptimization.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemoveUnnecessaryCasts.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemoveDanglingParentReferences.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
ProgramRewriter.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemovePersistentReadWrite.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteMatrixMultChainOptimization.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Modifier and Type | Method and Description |
---|---|
ArrayList<Hop> |
ProgramRewriter.rewriteHopDAG(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteAlgebraicSimplificationDynamic.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteAlgebraicSimplificationStatic.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteTransientWriteParentHandling.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteCommonSubexpressionElimination.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteConstantFolding.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteIndexingVectorization.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteInjectSparkPReadCheckpointing.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteGPUSpecificOps.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteBlockSizeAndReblock.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemoveReadAfterWrite.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
abstract ArrayList<Hop> |
HopRewriteRule.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state)
Handle a generic (last-level) hop DAG with multiple roots.
|
ArrayList<Hop> |
RewriteElementwiseMultChainOptimization.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemoveUnnecessaryCasts.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemoveDanglingParentReferences.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemovePersistentReadWrite.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteMatrixMultChainOptimization.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
Modifier and Type | Method and Description |
---|---|
static void |
HopRewriteUtils.addChildReference(Hop parent,
Hop child) |
static void |
HopRewriteUtils.addChildReference(Hop parent,
Hop child,
int pos) |
static boolean |
HopRewriteUtils.alwaysRequiresReblock(Hop hop) |
static boolean |
HopRewriteUtils.checkInputDataTypes(Hop hop,
Types.DataType... dt) |
static void |
HopRewriteUtils.cleanupUnreferenced(Hop... inputs) |
static int |
HopRewriteUtils.compareSize(Hop hop1,
Hop hop2)
Compares the size of outputs from hop1 and hop2, in terms of number
of matrix cells.
|
static boolean |
HopRewriteUtils.containsInput(Hop current,
Hop probe) |
static void |
HopRewriteUtils.copyLineNumbers(Hop src,
Hop dest) |
static void |
HopRewriteUtils.copyLineNumbers(MatrixBlock mb,
Hop tread) |
static void |
HopRewriteUtils.copyLineNumbers(MatrixObject mo,
Hop tread) |
static AggUnaryOp |
HopRewriteUtils.createAggUnaryOp(Hop input,
String op) |
static AggUnaryOp |
HopRewriteUtils.createAggUnaryOp(Hop input,
Types.AggOp op,
Types.Direction dir) |
static BinaryOp |
HopRewriteUtils.createBinary(Hop input1,
Hop input2,
String op) |
static BinaryOp |
HopRewriteUtils.createBinary(Hop input1,
Hop input2,
Types.OpOp2 op) |
static BinaryOp |
HopRewriteUtils.createBinary(Hop input1,
Hop input2,
Types.OpOp2 op,
boolean outer) |
static BinaryOp |
HopRewriteUtils.createBinaryMinus(Hop input) |
static Hop |
HopRewriteUtils.createComputeNnz(Hop input) |
static Hop |
HopRewriteUtils.createDataGenOp(Hop rowInput,
boolean tRowInput,
Hop colInput,
boolean tColInput,
double value) |
static Hop |
HopRewriteUtils.createDataGenOp(Hop input,
double value) |
static Hop |
HopRewriteUtils.createDataGenOp(Hop rowInput,
Hop colInput,
double value) |
static Hop |
HopRewriteUtils.createDataGenOpByVal(Hop rowInput,
Hop colInput,
Hop dimsInput,
Types.DataType dt,
Types.ValueType vt,
double value) |
static DataOp |
HopRewriteUtils.createDataOp(String name,
Hop in,
Types.OpOpData type) |
static IndexingOp |
HopRewriteUtils.createIndexingOp(Hop input,
Hop rl,
Hop ru,
Hop cl,
Hop cu) |
static IndexingOp |
HopRewriteUtils.createIndexingOp(Hop input,
long rix,
long cix) |
static IndexingOp |
HopRewriteUtils.createIndexingOp(Hop input,
long rl,
long ru,
long cl,
long cu) |
static LeftIndexingOp |
HopRewriteUtils.createLeftIndexingOp(Hop lhs,
Hop rhs,
Hop rl,
Hop ru,
Hop cl,
Hop cu) |
static AggBinaryOp |
HopRewriteUtils.createMatrixMultiply(Hop left,
Hop right) |
static NaryOp |
HopRewriteUtils.createNary(Types.OpOpN op,
Hop... inputs) |
static ParameterizedBuiltinOp |
HopRewriteUtils.createParameterizedBuiltinOp(Hop input,
LinkedHashMap<String,Hop> args,
Types.ParamBuiltinOp op) |
static Hop |
HopRewriteUtils.createPartialTsmmCbind(Hop X,
Hop deltaX,
Hop tsmmIn1) |
static ReorgOp |
HopRewriteUtils.createReorg(Hop input,
String rop) |
static ReorgOp |
HopRewriteUtils.createReorg(Hop input,
Types.ReOrgOp rop) |
static Hop |
HopRewriteUtils.createScalarIndexing(Hop input,
long rix,
long cix) |
static DataGenOp |
HopRewriteUtils.createSeqDataGenOp(Hop input) |
static DataGenOp |
HopRewriteUtils.createSeqDataGenOp(Hop input,
boolean asc) |
static AggUnaryOp |
HopRewriteUtils.createSum(Hop input) |
static TernaryOp |
HopRewriteUtils.createTernary(Hop in1,
Hop in2,
Hop in3,
Hop in4,
Hop in5,
Types.OpOp3 op) |
static TernaryOp |
HopRewriteUtils.createTernary(Hop mleft,
Hop smid,
Hop mright,
String opcode) |
static TernaryOp |
HopRewriteUtils.createTernary(Hop mleft,
Hop smid,
Hop mright,
Types.OpOp3 op) |
static DataOp |
HopRewriteUtils.createTransientRead(String name,
Hop h) |
static DataOp |
HopRewriteUtils.createTransientWrite(String name,
Hop in) |
static ReorgOp |
HopRewriteUtils.createTranspose(Hop input) |
static AggBinaryOp |
HopRewriteUtils.createTsmm(Hop input,
boolean left) |
static UnaryOp |
HopRewriteUtils.createUnary(Hop input,
String type) |
static UnaryOp |
HopRewriteUtils.createUnary(Hop input,
Types.OpOp1 type) |
static Hop |
HopRewriteUtils.createValueHop(Hop hop,
boolean row) |
static Hop |
HopRewriteUtils.getBasic1NSequenceMax(Hop hop) |
static int |
HopRewriteUtils.getChildReferencePos(Hop parent,
Hop child) |
static Hop |
HopRewriteUtils.getDataGenOpConstantValue(Hop hop) |
static Hop |
HopRewriteUtils.getLargestInput(Hop hop) |
static long |
HopRewriteUtils.getMaxInputDim(Hop hop,
boolean dim1) |
static long |
HopRewriteUtils.getMaxNcolInput(Hop hop) |
static long |
HopRewriteUtils.getMaxNrowInput(Hop hop) |
static Hop |
HopRewriteUtils.getOtherInput(Hop hop,
Hop input) |
static long |
HopRewriteUtils.getSumValidInputDims(Hop hop,
boolean dim1) |
static long |
HopRewriteUtils.getSumValidInputNnz(Hop hop) |
static boolean |
HopRewriteUtils.hasOnlyUnaryBinaryParents(Hop hop,
boolean disallowLhs) |
static boolean |
HopRewriteUtils.hasOnlyWriteParents(Hop hop,
boolean inclTransient,
boolean inclPersistent) |
static boolean |
HopRewriteUtils.hasValidInputDims(Hop hop,
boolean dim1) |
static boolean |
HopRewriteUtils.hasValidInputNnz(Hop hop) |
static boolean |
HopRewriteUtils.isAggUnaryOp(Hop hop,
Types.AggOp... op) |
static boolean |
HopRewriteUtils.isAggUnaryOp(Hop hop,
Types.AggOp op,
Types.Direction dir) |
static boolean |
HopRewriteUtils.isBasic1NSequence(Hop hop) |
static boolean |
HopRewriteUtils.isBasic1NSequence(Hop seq,
Hop input,
boolean row) |
static boolean |
HopRewriteUtils.isBasicN1Sequence(Hop hop) |
static boolean |
HopRewriteUtils.isBinary(Hop hop,
Types.OpOp2... types) |
static boolean |
HopRewriteUtils.isBinary(Hop hop,
Types.OpOp2 type) |
static boolean |
HopRewriteUtils.isBinary(Hop hop,
Types.OpOp2 type,
int maxParents) |
static boolean |
HopRewriteUtils.isBinaryMatrixColVectorOperation(Hop hop) |
static boolean |
HopRewriteUtils.isBinaryMatrixMatrixOperation(Hop hop) |
static boolean |
HopRewriteUtils.isBinaryMatrixMatrixOperationWithSharedInput(Hop hop) |
static boolean |
HopRewriteUtils.isBinaryMatrixScalar(Hop hop,
Types.OpOp2 type,
double val) |
static boolean |
HopRewriteUtils.isBinaryMatrixScalarOperation(Hop hop) |
static boolean |
HopRewriteUtils.isBinaryPPred(Hop hop) |
static boolean |
HopRewriteUtils.isBinarySparseSafe(Hop hop) |
static boolean |
HopRewriteUtils.isColumnRightIndexing(Hop hop) |
static boolean |
HopRewriteUtils.isConsecutiveIndex(Hop index,
Hop index2) |
static boolean |
HopRewriteUtils.isData(Hop hop,
Types.OpOpData type) |
static boolean |
HopRewriteUtils.isDataGenOp(Hop hop,
Types.OpOpDG... ops) |
static boolean |
HopRewriteUtils.isDataGenOpWithConstantValue(Hop hop) |
static boolean |
HopRewriteUtils.isDataGenOpWithConstantValue(Hop hop,
double value) |
static boolean |
HopRewriteUtils.isDataGenOpWithLiteralInputs(Hop hop,
Types.OpOpDG... ops) |
static boolean |
HopRewriteUtils.isDataGenOpWithNonDeterminism(Hop hop) |
static boolean |
HopRewriteUtils.isDense(Hop hop) |
static boolean |
HopRewriteUtils.isDimsKnown(Hop hop) |
static boolean |
HopRewriteUtils.isDnn(Hop hop,
Types.OpOpDnn... types) |
static boolean |
HopRewriteUtils.isDnn(Hop hop,
Types.OpOpDnn type) |
static boolean |
HopRewriteUtils.isEmpty(Hop hop) |
static boolean |
HopRewriteUtils.isEqualSize(Hop hop1,
Hop... hops) |
static boolean |
HopRewriteUtils.isEqualSize(Hop hop1,
Hop... hops) |
static boolean |
HopRewriteUtils.isEqualSize(Hop hop1,
Hop hop2) |
static boolean |
HopRewriteUtils.isLiteralOfValue(Hop hop,
boolean val) |
static boolean |
HopRewriteUtils.isLiteralOfValue(Hop hop,
Double... val) |
static boolean |
HopRewriteUtils.isLiteralOfValue(Hop hop,
double val) |
static boolean |
HopRewriteUtils.isLiteralOfValue(Hop hop,
String val) |
static boolean |
HopRewriteUtils.isMatrixMultiply(Hop hop) |
static boolean |
HopRewriteUtils.isNary(Hop hop,
Types.OpOpN... types) |
static boolean |
HopRewriteUtils.isNary(Hop hop,
Types.OpOpN type) |
static boolean |
HopRewriteUtils.isNonZeroIndicator(Hop pred,
Hop hop) |
static boolean |
HopRewriteUtils.isNotMatrixVectorBinaryOperation(Hop hop) |
static boolean |
HopRewriteUtils.isOuterBinary(Hop hop) |
static boolean |
HopRewriteUtils.isOuterProductLikeMM(Hop hop) |
static boolean |
HopRewriteUtils.isParameterBuiltinOp(Hop hop,
Types.ParamBuiltinOp type) |
static boolean |
HopRewriteUtils.isRemoveEmpty(Hop hop) |
static boolean |
HopRewriteUtils.isRemoveEmpty(Hop hop,
boolean rows) |
static boolean |
HopRewriteUtils.isReorg(Hop hop,
Types.ReOrgOp... types) |
static boolean |
HopRewriteUtils.isReorg(Hop hop,
Types.ReOrgOp type) |
static boolean |
HopRewriteUtils.isScalarMatrixBinaryMult(Hop hop) |
static boolean |
HopRewriteUtils.isSingleBlock(Hop hop) |
static boolean |
HopRewriteUtils.isSingleBlock(Hop hop,
boolean cols)
Checks our BLOCKSIZE CONSTRAINT, w/ awareness of forced single node
execution mode.
|
static boolean |
HopRewriteUtils.isSizeExpressionOf(Hop size,
Hop input,
boolean row) |
static boolean |
HopRewriteUtils.isSparse(Hop hop) |
static boolean |
HopRewriteUtils.isSparse(Hop hop,
double threshold) |
static boolean |
HopRewriteUtils.isSum(Hop hop) |
static boolean |
HopRewriteUtils.isSumSq(Hop hop) |
static boolean |
HopRewriteUtils.isTernary(Hop hop,
Types.OpOp3... types) |
static boolean |
HopRewriteUtils.isTernary(Hop hop,
Types.OpOp3 type) |
static boolean |
HopRewriteUtils.isTransposeOfItself(Hop hop1,
Hop hop2) |
static boolean |
HopRewriteUtils.isTransposeOperation(Hop hop) |
static boolean |
HopRewriteUtils.isTransposeOperation(Hop hop,
int maxParents) |
static boolean |
HopRewriteUtils.isTsmm(Hop input) |
static boolean |
HopRewriteUtils.isTsmmInput(Hop input) |
static boolean |
HopRewriteUtils.isUnary(Hop hop,
Types.OpOp1... types) |
static boolean |
HopRewriteUtils.isUnary(Hop hop,
Types.OpOp1 type) |
static boolean |
HopRewriteUtils.isUnary(Hop hop,
Types.OpOp1 type,
int maxParents) |
static boolean |
HopRewriteUtils.isUnnecessaryRightIndexing(Hop hop) |
static boolean |
HopRewriteUtils.rContainsRead(Hop root,
String var,
boolean includeMetaOp) |
static void |
HopRewriteUtils.refreshOutputParameters(Hop hnew,
Hop hold) |
static void |
HopRewriteUtils.removeAllChildReferences(Hop parent) |
static void |
HopRewriteUtils.removeChildReference(Hop parent,
Hop child) |
static void |
HopRewriteUtils.removeChildReferenceByPos(Hop parent,
Hop child,
int posChild) |
static void |
HopRewriteUtils.replaceChildReference(Hop parent,
Hop inOld,
Hop inNew) |
static void |
HopRewriteUtils.replaceChildReference(Hop parent,
Hop inOld,
Hop inNew,
int pos) |
static void |
HopRewriteUtils.replaceChildReference(Hop parent,
Hop inOld,
Hop inNew,
int pos,
boolean refresh) |
static Hop |
HopRewriteUtils.rewireAllParentChildReferences(Hop hold,
Hop hnew)
Replace an old Hop with a replacement Hop.
|
Hop |
RewriteAlgebraicSimplificationDynamic.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteAlgebraicSimplificationStatic.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteTransientWriteParentHandling.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteCommonSubexpressionElimination.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteConstantFolding.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteIndexingVectorization.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteInjectSparkPReadCheckpointing.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteGPUSpecificOps.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteBlockSizeAndReblock.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemoveReadAfterWrite.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
abstract Hop |
HopRewriteRule.rewriteHopDAG(Hop root,
ProgramRewriteStatus state)
Handle a predicate hop DAG with exactly one root.
|
Hop |
RewriteElementwiseMultChainOptimization.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemoveUnnecessaryCasts.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemoveDanglingParentReferences.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
ProgramRewriter.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteRemovePersistentReadWrite.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
Hop |
RewriteMatrixMultChainOptimization.rewriteHopDAG(Hop root,
ProgramRewriteStatus state) |
static boolean |
HopRewriteUtils.rHasSimpleReadChain(Hop root,
String var) |
static void |
HopRewriteUtils.setOutputParameters(Hop hop,
long rlen,
long clen,
int blen,
long nnz) |
static void |
HopRewriteUtils.setOutputParametersForScalar(Hop hop) |
static void |
HopRewriteUtils.updateHopCharacteristics(Hop hop,
int blen,
Hop src) |
static void |
HopRewriteUtils.updateHopCharacteristics(Hop hop,
int blen,
MemoTable memo,
Hop src) |
static void |
HopDagValidator.validateHopDag(Hop root,
HopRewriteRule rule) |
Modifier and Type | Method and Description |
---|---|
static boolean |
HopRewriteUtils.checkAvgRowsGteCols(List<Hop> list) |
static boolean |
HopRewriteUtils.checkConsistentRows(List<Hop> list1,
List<Hop> list2) |
static boolean |
HopRewriteUtils.checkConsistentRows(List<Hop> list1,
List<Hop> list2) |
static boolean |
HopRewriteUtils.containsOp(ArrayList<Hop> candidates,
Class<? extends Hop> clazz) |
static boolean |
HopRewriteUtils.containsOp(ArrayList<Hop> candidates,
Class<? extends Hop> clazz) |
static boolean |
HopRewriteUtils.containsSecondOrderBuiltin(ArrayList<Hop> roots) |
static boolean |
HopRewriteUtils.containsTransposeOperation(ArrayList<Hop> hops) |
static ParameterizedBuiltinOp |
HopRewriteUtils.createParameterizedBuiltinOp(Hop input,
LinkedHashMap<String,Hop> args,
Types.ParamBuiltinOp op) |
static ReorgOp |
HopRewriteUtils.createReorg(ArrayList<Hop> inputs,
Types.ReOrgOp rop) |
ArrayList<Hop> |
ProgramRewriter.rewriteHopDAG(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteAlgebraicSimplificationDynamic.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteAlgebraicSimplificationStatic.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteTransientWriteParentHandling.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteCommonSubexpressionElimination.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteConstantFolding.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteIndexingVectorization.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteInjectSparkPReadCheckpointing.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteGPUSpecificOps.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteBlockSizeAndReblock.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemoveReadAfterWrite.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
abstract ArrayList<Hop> |
HopRewriteRule.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state)
Handle a generic (last-level) hop DAG with multiple roots.
|
ArrayList<Hop> |
RewriteElementwiseMultChainOptimization.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemoveUnnecessaryCasts.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemoveDanglingParentReferences.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteRemovePersistentReadWrite.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
ArrayList<Hop> |
RewriteMatrixMultChainOptimization.rewriteHopDAGs(ArrayList<Hop> roots,
ProgramRewriteStatus state) |
static void |
HopDagValidator.validateHopDag(ArrayList<Hop> roots,
HopRewriteRule rule) |
Constructor and Description |
---|
FunctionCallCP(ArrayList<Lop> inputs,
String fnamespace,
String fname,
String[] inputNames,
String[] outputNames,
ArrayList<Hop> outputHops,
boolean opt,
LopProperties.ExecType et) |
Modifier and Type | Method and Description |
---|---|
Hop |
ForStatementBlock.getFromHops() |
Hop |
ForStatementBlock.getIncrementHops() |
Hop |
IfStatementBlock.getPredicateHops() |
Hop |
WhileStatementBlock.getPredicateHops() |
Hop |
ForStatementBlock.getToHops() |
Modifier and Type | Method and Description |
---|---|
ArrayList<Hop> |
StatementBlock.getHops() |
Modifier and Type | Method and Description |
---|---|
void |
ForStatementBlock.setFromHops(Hop hops) |
void |
DMLTranslator.setIdentifierParams(Hop h,
Identifier id) |
void |
ForStatementBlock.setIncrementHops(Hop hops) |
void |
IfStatementBlock.setPredicateHops(Hop hops) |
void |
WhileStatementBlock.setPredicateHops(Hop hops) |
void |
ForStatementBlock.setToHops(Hop hops) |
Modifier and Type | Method and Description |
---|---|
void |
StatementBlock.setHops(ArrayList<Hop> hops) |
Modifier and Type | Method and Description |
---|---|
ScalarObject |
ProgramBlock.executePredicate(ArrayList<Instruction> inst,
Hop hops,
boolean requiresRecompile,
Types.ValueType retType,
ExecutionContext ec)
Executes given predicate instructions (incl recompilation if required)
|
Modifier and Type | Method and Description |
---|---|
Hop |
OptTreePlanMappingAbstract.getMappedHop(long id) |
Modifier and Type | Method and Description |
---|---|
long |
OptTreePlanMappingAbstract.putHopMapping(Hop hops,
OptNode n) |
static ArrayList<OptNode> |
OptTreeConverter.rCreateAbstractOptNodes(Hop hop,
LocalVariableMap vars,
Set<String> memo) |
Modifier and Type | Method and Description |
---|---|
static ArrayList<OptNode> |
OptTreeConverter.createAbstractOptNodes(ArrayList<Hop> hops,
LocalVariableMap vars,
Set<String> memo) |
Modifier and Type | Method and Description |
---|---|
static void |
LineageItemUtils.constructLineageFromHops(Hop[] roots,
String claName,
Hop[] inputs,
HashMap<Long,Hop> spoofmap) |
static void |
LineageItemUtils.constructLineageFromHops(Hop[] roots,
String claName,
Hop[] inputs,
HashMap<Long,Hop> spoofmap) |
static void |
LineageItemUtils.rConstructLineageFromHops(Hop root,
Hop[] inputs,
Map<Long,LineageItem> operands,
HashMap<Long,Hop> spoofmap) |
static void |
LineageItemUtils.rConstructLineageFromHops(Hop root,
Hop[] inputs,
Map<Long,LineageItem> operands,
HashMap<Long,Hop> spoofmap) |
Modifier and Type | Method and Description |
---|---|
static void |
LineageItemUtils.constructLineageFromHops(Hop[] roots,
String claName,
Hop[] inputs,
HashMap<Long,Hop> spoofmap) |
static void |
LineageItemUtils.rConstructLineageFromHops(Hop root,
Hop[] inputs,
Map<Long,LineageItem> operands,
HashMap<Long,Hop> spoofmap) |
Modifier and Type | Method and Description |
---|---|
void |
DnnParameters.setIfUnknown(Hop N,
Hop C,
Hop H,
Hop W,
Hop K,
Hop R,
Hop S,
Hop stride_h,
Hop stride_w,
Hop pad_h,
Hop pad_w,
int numThreads) |
Modifier and Type | Method and Description |
---|---|
static String |
Explain.explain(Hop hop) |
static String |
Explain.explain(Hop hop,
int level) |
Modifier and Type | Method and Description |
---|---|
static String |
Explain.explainHops(ArrayList<Hop> hops) |
static String |
Explain.explainHops(ArrayList<Hop> hops,
int level) |
Copyright © 2020 The Apache Software Foundation. All rights reserved.