Package org.apache.sysds.lops

# Class MapMultChain

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

public class MapMultChain extends Lop

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`MapMultChain.ChainType`

## 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`
`static final String`
`OPCODE_CP`

### 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
`MapMultChain(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Constructor to setup a map mult chain without weights
`MapMultChain(Lop input1, Lop input2, Lop input3, MapMultChain.ChainType chain, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Constructor to setup a map mult chain with weights

## Method Summary

Modifier and Type
Method
Description
`Lop`
`getBroadcastInput()`
Method to get the input to be broadcast.
`String`
`getInstructions(String input1, String input2, String output)`
Method should be overridden if needed
`String`
`getInstructions(String input1, String input2, String input3, String output)`
Method should be overridden if needed
`void`
`setNumThreads(int k)`
`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, getComputeEstimate, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, getFilename, getID, getInput, getInputs, 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

### OPCODE_CP

public static final String OPCODE_CP

## Constructor Details

### MapMultChain

public MapMultChain(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)
Constructor to setup a map mult chain without weights

Parameters:
  `input1` - low-level operator 1
  `input2` - low-level operator 2
  `dt` - data type
  `vt` - value type
  `et` - execution type

### MapMultChain

public MapMultChain(Lop input1, Lop input2, Lop input3, MapMultChain.ChainType chain, Types.DataType dt, Types.ValueType vt, Types.ExecType et)
Constructor to setup a map mult chain with weights

Parameters:
  `input1` - low-level operator 1
  `input2` - low-level operator 2
  `input3` - low-level operator 3
  `chain` - chain type
  `dt` - data type
  `vt` - value type
  `et` - execution type

## Method Details

### setNumThreads

public void setNumThreads(int k)

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

### getBroadcastInput

public Lop getBroadcastInput()
Description copied from class: `Lop`
Method to get the input to be broadcast. This method is overridden by the Lops which require broadcasts (e.g. AppendM)

Overrides:
  `getBroadcastInput` in class `Lop`
Returns:
  An input Lop or Null

### getInstructions

public String getInstructions(String input1, String input2, String output)
Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input1` - input 1
  `input2` - input 2
  `output` - output
Returns:
  instructions as string

### getInstructions

public String getInstructions(String input1, String input2, String input3, String output)
Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input1` - input 1
  `input2` - input 2
  `input3` - input 3
  `output` - output
Returns:
  instructions as string