Package org.apache.sysds.lops
Class AppendG
java.lang.Object
org.apache.sysds.lops.Lop
org.apache.sysds.lops.AppendG
TODO Additional compiler enhancements:
1) Partial Shuffle Elimination - Any full or aligned blocks could be directly output from the mappers
to the result index. We only need to shuffle, sort and aggregate partial blocks. However, this requires
piggybacking changes, i.e., (1) operations with multiple result indexes, and (2) multiple operations
with the same result index.
2) Group Elimination for Append Chains - If we have chains of rappend each intermediate is shuffled and
aggregated. This is unnecessary if all offsets are known in advance. We could directly pack all rappends
in one GMR map-phase followed by one group and subsequent aggregate. However, this requires an n-ary
rappend or group (with multiple inputs).
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sysds.lops.Lop
Lop.SimpleInstType, Lop.Type, Lop.VisitStatus -
Field Summary
FieldsFields inherited from class org.apache.sysds.lops.Lop
_beginColumn, _beginLine, _endColumn, _endLine, _filename, CP_CHILD_THREAD, CP_ROOT_THREAD_ID, DATATYPE_PREFIX, FILE_SEPARATOR, FRAME_VAR_NAME_PREFIX, INSTRUCTION_DELIMITOR, LITERAL_PREFIX, MATRIX_VAR_NAME_PREFIX, NAME_VALUE_SEPARATOR, OPERAND_DELIMITOR, PROCESS_PREFIX, SCALAR_VAR_NAME_PREFIX, UPDATE_INPLACE_PREFIX, VALUETYPE_PREFIX, VARIABLE_NAME_PLACEHOLDER -
Constructor Summary
ConstructorsConstructorDescriptionAppendG(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et) -
Method Summary
Modifier and TypeMethodDescriptiongetInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index) Method should be overridden if neededvoidinit(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, Types.ExecType et) toString()Method to have Lops print their state.Methods inherited from class org.apache.sysds.lops.Lop
activatePrefetch, addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getComputeEstimate, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, getFilename, getID, getInput, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getNnz, getNumCols, getNumRows, getOutputMemoryEstimate, getOutputParameters, getOutputs, getPipelineID, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getTotalMemoryEstimate, getType, getValueType, getVisited, isAllOutputsCP, isAllOutputsGPU, isAsynchronousOp, isDataExecLocation, isExecCP, isExecGPU, isExecSpark, isVariable, isVisited, prefetchActivated, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeInput, removeOutput, replaceAllInputs, replaceAllOutputs, replaceInput, resetVisitStatus, setAllPositions, setAsynchronous, setBeginColumn, setBeginLine, setComputeEstimate, setConsumerCount, setDataType, setEndColumn, setEndLine, setExecType, setFederatedOutput, setFilename, setMemoryEstimates, setNewID, setPipelineID, setValueType, setVisited, setVisited
-
Field Details
-
OPCODE
-
-
Constructor Details
-
AppendG
public AppendG(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)
-
-
Method Details
-
init
public void init(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, Types.ExecType et) -
toString
Description copied from class:LopMethod to have Lops print their state. This is for debugging purposes. -
getInstructions
public String getInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index) Description copied from class:LopMethod should be overridden if needed- Overrides:
getInstructionsin classLop- Parameters:
input_index1- input 1input_index2- input 2input_index3- input 3input_index4- input 4output_index- output- Returns:
- instructions as string
-