Class TemplateOuterProduct
java.lang.Object
org.apache.sysds.hops.codegen.template.TemplateBase
org.apache.sysds.hops.codegen.template.TemplateOuterProduct
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sysds.hops.codegen.template.TemplateBase
TemplateBase.CloseType, TemplateBase.TemplateType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionIndicates if the template must be closed at the current hop; either due to final operations (e.g., aggregate) or unsupported operations.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.dropAlternativePlan(CPlanMemoTable memo, CPlanMemoTable.MemoTableEntry me1, CPlanMemoTable.MemoTableEntry me2) booleanIndicates if the template can be expanded to the given hop starting from an open template at the input.booleanIndicates 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.booleanIndicates if this template can be opened at the given hop, where hop represents bottom (first operation on the inputs) of the fused operator.
-
Constructor Details
-
TemplateOuterProduct
public TemplateOuterProduct() -
TemplateOuterProduct
-
-
Method Details
-
open
Description copied from class:TemplateBaseIndicates if this template can be opened at the given hop, where hop represents bottom (first operation on the inputs) of the fused operator.- Specified by:
openin classTemplateBase- Parameters:
hop- current hop- Returns:
- true if template can be opened
-
fuse
Description copied from class:TemplateBaseIndicates if the template can be expanded to the given hop starting from an open template at the input.- Specified by:
fusein classTemplateBase- Parameters:
hop- current hopinput- hop with open template of same type- Returns:
- true if the current hop can be fused into the operator.
-
merge
Description copied from class:TemplateBaseIndicates 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.- Specified by:
mergein classTemplateBase- Parameters:
hop- current hopinput- direct input of current hop with available template- Returns:
- true if the the input hop can be fused into the current hop
-
close
Description copied from class:TemplateBaseIndicates if the template must be closed at the current hop; either due to final operations (e.g., aggregate) or unsupported operations.- Specified by:
closein classTemplateBase- Parameters:
hop- current hop- Returns:
- close type (closed invalid, closed valid, open)
-
constructCplan
Description copied from class:TemplateBaseConstructs 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.- Specified by:
constructCplanin classTemplateBase- Parameters:
hop- root of cplanmemo- memoization table for partial subplanscompileLiterals- if true compile non-integer literals as constants, otherwise variables. note: integer literals are always compiled as constants.- Returns:
- pair containing hops and code template
-
dropAlternativePlan
public static CPlanMemoTable.MemoTableEntry dropAlternativePlan(CPlanMemoTable memo, CPlanMemoTable.MemoTableEntry me1, CPlanMemoTable.MemoTableEntry me2)
-