Package org.apache.sysds.lops

# Class AppendG

java.lang.Object
org.apache.sysds.lops.Lop
org.apache.sysds.lops.AppendG

public class AppendG extends Lop
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

Fields
Modifier and Type
Field
Description
`static final String`
`OPCODE`

### Fields 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

Constructors
Constructor
Description
`AppendG(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`

## Method Summary

Modifier and Type
Method
Description
`String`
`getInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index)`
Method should be overridden if needed
`void`
`init(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
`String`
`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`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### OPCODE

public static final String 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

public String toString()
Description copied from class: `Lop`
Method to have Lops print their state. This is for debugging purposes.

Specified by:
  `toString` in class `Lop`

### getInstructions

public String getInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index)
Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input_index1` - input 1
  `input_index2` - input 2
  `input_index3` - input 3
  `input_index4` - input 4
  `output_index` - output
Returns:
  instructions as string