# Uses of Class
org.apache.sysds.lops.Lop

Packages that use Lop
Package
Description
org.apache.sysds.hops
org.apache.sysds.hops.codegen
org.apache.sysds.lops
org.apache.sysds.lops.compile
org.apache.sysds.lops.compile.linearization
org.apache.sysds.lops.rewrite
org.apache.sysds.parser
org.apache.sysds.runtime.instructions

## Uses of Lop in org.apache.sysds.hops

Methods in org.apache.sysds.hops that return Lop
Modifier and Type
Method
Description
`Lop`
DnnOp.`constructDnnLops(Types.ExecType et, List<Hop> inputs)`
`Lop`
AggBinaryOp.`constructLops()`
NOTE: overestimated mem in case of transpose-identity matmult, but 3/2 at worst and existing mem estimate advantageous in terms of consistency hops/lops, and some special cases internally materialize the transpose for better cache locality
`Lop`
AggUnaryOp.`constructLops()`
`Lop`
BinaryOp.`constructLops()`
`Lop`
DataGenOp.`constructLops()`
`Lop`
DataOp.`constructLops()`
`Lop`
DnnOp.`constructLops()`
`Lop`
FunctionOp.`constructLops()`
`abstract Lop`
Hop.`constructLops()`
`Lop`
IndexingOp.`constructLops()`
`Lop`
LeftIndexingOp.`constructLops()`
`Lop`
LiteralOp.`constructLops()`
`Lop`
NaryOp.`constructLops()`
Construct the corresponding Lops for this Hop
`Lop`
ParameterizedBuiltinOp.`constructLops()`
`Lop`
QuaternaryOp.`constructLops()`
`Lop`
ReorgOp.`constructLops()`
`Lop`
TernaryOp.`constructLops()`
`Lop`
UnaryOp.`constructLops()`
`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)`
`Lop`
Hop.`getLops()`
Methods in org.apache.sysds.hops with parameters of type Lop
Modifier and Type
Method
Description
`void`
Hop.`setLops(Lop lops)`
`void`
Hop.`updateLopFedOut(Lop lop)`
`void`
Hop.`updateLopFedOut(Lop lop, Types.ExecType execType, FEDInstruction.FederatedOutput fedOut)`

## Uses of Lop in org.apache.sysds.hops.codegen

Methods in org.apache.sysds.hops.codegen that return Lop
Modifier and Type
Method
Description
`Lop`
SpoofFusedOp.`constructLops()`

## Uses of Lop in org.apache.sysds.lops

Subclasses of Lop in org.apache.sysds.lops
Modifier and Type
Class
Description
`class`
`Append`
`class`
`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.
`class`
`AppendGAlignedSP`
`class`
`AppendM`
`class`
`AppendR`
`class`
`Binary`
Lop to perform binary operation.
`class`
`BinaryM`
Lop to perform binary operation.
`class`
`BinaryScalar`
Lop to perform binary scalar operations.
`class`
`BinaryUAggChain`
`class`
`CentralMoment`
Lop to perform cross product operation
`class`
`Checkpoint`
Lop for checkpoint operations.
`class`
`Compression`
`class`
`CoVariance`
Lop to compute covariance between two 1D matrices
`class`
`CSVReBlock`
Lop to convert CSV data into SystemDS data format
`class`
`Ctable`
Lop to perform ternary operation.
`class`
`CumulativeOffsetBinary`
`class`
`CumulativePartialAggregate`
`class`
`Data`
Lop to represent data objects.
`class`
`DataGen`
Defines a LOP that generates data.
`class`
`DeCompression`
`class`
`DnnTransform`
`class`
`Federated`
`class`
`FunctionCallCP`
`class`
`GroupedAggregate`
Lop to perform grouped aggregates
`class`
`GroupedAggregateM`
Lop to perform mr map-side grouped aggregates (restriction: sum, w/o weights, ngroups), groups broadcasted
`class`
`LeftIndex`
`class`
`Local`
`class`
`MapMult`
`class`
`MapMultChain`
`class`
`MatMultCP`
`class`
`MMCJ`
Lop to perform cross product operation
`class`
`MMRJ`
Lop to perform cross product operation
`class`
`MMTSJ`
Lop to perform transpose-identity operation (t(X)%*%X or X%*%t(X)), used to represent CP and MR instruction but in case of MR there is an additional Aggregate at the reducers.
`class`
`MMZip`
Lop to perform zip matrix multiplication
`class`
`Nary`
Lop to perform an operation on a variable number of operands.
`class`
`ParameterizedBuiltin`
Defines a LOP for functions.
`class`
`PartialAggregate`
Lop to perform a partial aggregation.
`class`
`PickByCount`
`class`
`PMapMult`
`class`
`PMMJ`
`class`
`ReBlock`
Lop to perform reblock operation
`class`
`RightIndex`
`class`
`SortKeys`
`class`
`SpoofFused`
`class`
`Sql`
`class`
`Tee`
`class`
`Ternary`
Lop to perform Sum of a matrix with another matrix multiplied by Scalar.
`class`
`TernaryAggregate`
`class`
`Transform`
`class`
`UAggOuterChain`
TODO Currently this lop only support the right hand side in distributed cache.
`class`
`Unary`
Lop to perform following operations: with one operand -- NOT(A), ABS(A), SQRT(A), LOG(A) with two operands where one of them is a scalar -- H=H*i, H=H*5, EXP(A,2), LOG(A,2)
`class`
`UnaryCP`
`class`
`WeightedCrossEntropy`
`class`
`WeightedCrossEntropyR`
`class`
`WeightedDivMM`
`class`
`WeightedDivMMR`
`class`
`WeightedSigmoid`
`class`
`WeightedSigmoidR`
`class`
`WeightedSquaredLoss`
`class`
`WeightedSquaredLossR`
`class`
`WeightedUnaryMM`
`class`
`WeightedUnaryMMR`
Methods in org.apache.sysds.lops that return Lop
Modifier and Type
Method
Description
`Lop`
AppendM.`getBroadcastInput()`
`Lop`
Binary.`getBroadcastInput()`
`Lop`
BinaryM.`getBroadcastInput()`
`Lop`
LeftIndex.`getBroadcastInput()`
`Lop`
Lop.`getBroadcastInput()`
Method to get the input to be broadcast.
`Lop`
MapMult.`getBroadcastInput()`
`Lop`
MapMultChain.`getBroadcastInput()`
`Lop`
PMMJ.`getBroadcastInput()`
`Lop`
Lop.`getInput(int index)`
`Lop`
ParameterizedBuiltin.`getNamedInput(String name)`
`Lop`
Data.`getNamedInputLop(String name)`
`Lop`
Data.`getNamedInputLop(String name, String defaultVal)`
Methods in org.apache.sysds.lops that return types with arguments of type Lop
Modifier and Type
Method
Description
`ArrayList<Lop>`
FunctionCallCP.`getFunctionOutputs()`
`HashMap<String,Lop>`
Data.`getInputParams()`
method to get inputParams
`ArrayList<Lop>`
Lop.`getInputs()`
Method to get input of Lops
`static ArrayList<Lop>`
OperatorOrderingUtils.`getLopList(StatementBlock sb)`
`ArrayList<Lop>`
Lop.`getOutputs()`
Method to get output of Lops
Methods in org.apache.sysds.lops with parameters of type Lop
Modifier and Type
Method
Description
`void`
Lop.`addInput(Lop op)`
Method to add input to Lop
`void`
Lop.`addOutput(Lop op)`
Method to add output to Lop
`static int`
OperatorOrderingUtils.`collectGPURoots(Lop root, Map<Long,Integer> gpuOpCount, HashSet<Lop> gpuRoots)`
`static int`
OperatorOrderingUtils.`collectSparkRoots(Lop root, Map<Long,Integer> sparkOpCount, HashSet<Lop> sparkRoots)`
`static SortKeys`
SortKeys.`constructSortByValueLop(Lop input1, Lop input2, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
`static SortKeys`
SortKeys.`constructSortByValueLop(Lop input1, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
`void`
Append.`init(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt)`
`void`
AppendG.`init(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
`void`
AppendGAlignedSP.`init(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt)`
`void`
AppendM.`init(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
`void`
AppendR.`init(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
`static boolean`
OperatorOrderingUtils.`isCollectForBroadcast(Lop lop)`
`static boolean`
OperatorOrderingUtils.`isLopRoot(Lop lop)`
`static boolean`
OperatorOrderingUtils.`isPersistableSparkOp(Lop lop)`
`void`
Lop.`removeInput(Lop op)`
`void`
Lop.`removeOutput(Lop op)`
Method to remove output from Lop
`void`
Lop.`replaceInput(Lop oldInp, Lop newInp)`
Method to replace an input to a Lop
`static void`
PartialAggregate.`setDimensionsBasedOnDirection(Lop lop, long dim1, long dim2, long blen, Types.Direction dir)`
Method parameters in org.apache.sysds.lops with type arguments of type Lop
Modifier and Type
Method
Description
`final void`
Lop.`addToDag(Dag<Lop> dag)`
Method to recursively add LOPS to a DAG
`static int`
OperatorOrderingUtils.`collectGPURoots(Lop root, Map<Long,Integer> gpuOpCount, HashSet<Lop> gpuRoots)`
`static int`
OperatorOrderingUtils.`collectSparkRoots(Lop root, Map<Long,Integer> sparkOpCount, HashSet<Lop> sparkRoots)`
`static void`
OperatorOrderingUtils.`markSharedSparkOps(HashSet<Lop> sparkRoots, Map<Long,Integer> operatorJobCount)`
`void`
Lop.`replaceAllInputs(ArrayList<Lop> newInputs)`
`void`
Lop.`replaceAllOutputs(ArrayList<Lop> newOutputs)`
`void`
LopProperties.`setLevel(ArrayList<Lop> inputs)`
`void`
LopProperties.`setProperties(ArrayList<Lop> inputs, Types.ExecType et)`
Constructors in org.apache.sysds.lops with parameters of type Lop
Modifier
Constructor
Description
``
`Append(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`
``
`AppendG(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`
``
`AppendGAlignedSP(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, boolean cbind)`
``
`AppendM(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, boolean cbind, boolean partitioned, Types.ExecType et)`
``
`AppendR(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`
``
`Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Constructor to perform a binary operation.
``
`Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, boolean inplace)`
``
`BinaryM(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean colVector)`
Constructor to perform a binary operation.
``
`BinaryScalar(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt)`
Constructor to perform a scalar operation
``
`BinaryUAggChain(Lop input1, Types.OpOp2 bop, Types.AggOp uaop, Types.Direction uadir, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Constructor to setup a map mult chain without weights
``
`CentralMoment(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, int numThreads, Types.ExecType et)`
``
`CentralMoment(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, int numThreads, Types.ExecType et)`
``
`Checkpoint(Lop input, Types.DataType dt, Types.ValueType vt, String level)`
``
`Checkpoint(Lop input, Types.DataType dt, Types.ValueType vt, String level, boolean isAsync)`
TODO change string parameter storage.level to StorageLevel as soon as we can assume that Spark libraries are always available.
``
`Compression(Lop input, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int singletonLookupKey, int numThreads)`
``
`CoVariance(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, int numThreads, Types.ExecType et)`
``
`CoVariance(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, int numThreads, Types.ExecType et)`
``
`CSVReBlock(Lop input, int blen, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`Ctable(Lop[] inputLops, Ctable.OperationTypes op, Types.DataType dt, Types.ValueType vt, boolean ignoreZeros, boolean outputEmptyBlocks, Types.ExecType et, int k)`
``
`Ctable(Lop[] inputLops, Ctable.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`CumulativeOffsetBinary(Lop data, Lop offsets, Types.DataType dt, Types.ValueType vt, double init, boolean broadcast, Types.AggOp op, Types.ExecType et)`
``
`CumulativeOffsetBinary(Lop data, Lop offsets, Types.DataType dt, Types.ValueType vt, Types.AggOp op, Types.ExecType et)`
``
`CumulativePartialAggregate(Lop input, Types.DataType dt, Types.ValueType vt, Types.AggOp op, Types.ExecType et)`
``
`Data(Types.OpOpData op, Lop input, HashMap<String,Lop> inputParametersLops, String name, String literal, Types.DataType dt, Types.ValueType vt, Types.FileFormat fmt)`
Constructor to setup read or write LOP In case of write: `input` must be provided.
``
`DeCompression(Lop input, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`DnnTransform(Lop input, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, double intermediateMemBudget)`
Constructor when we have one input.
``
`DnnTransform(Lop input1, Lop input2, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`DnnTransform(Lop input1, Lop input2, Lop input3, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`LeftIndex(Lop lhsInput, Lop rhsInput, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`LeftIndex(Lop lhsInput, Lop rhsInput, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et, LeftIndex.LixCacheType type)`
``
`Local(Lop input, Types.DataType dt, Types.ValueType vt)`
``
`MapMult(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean rightCache, boolean partitioned, boolean emptyBlocks, AggBinaryOp.SparkAggType aggtype)`
Constructor to setup a partial Matrix-Vector Multiplication for Spark
``
`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
``
`MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean isLeftTransposed, boolean isRightTransposed)`
``
`MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, boolean isLeftTransposed, boolean isRightTransposed)`
``
`MMCJ(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean outputEmptyBlocks, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
``
`MMCJ(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, MMCJ.MMCJType type, Types.ExecType et)`
Constructor to perform a cross product operation.
``
`MMRJ(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Constructor to perform a cross product operation.
``
`MMTSJ(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et, MMTSJ.MMTSJType type)`
``
`MMTSJ(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et, MMTSJ.MMTSJType type, boolean multiPass)`
``
`MMTSJ(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et, MMTSJ.MMTSJType type, boolean multiPass, int k)`
``
`MMZip(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean tRewrite, Types.ExecType et)`
``
`Nary(Types.OpOpN operationType, Types.DataType dt, Types.ValueType vt, Lop[] inputLops, Types.ExecType et)`
``
`PartialAggregate(Lop input, Types.AggOp op, Types.Direction direct, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`PartialAggregate(Lop input, Types.AggOp op, Types.Direction direct, Types.DataType dt, Types.ValueType vt, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
``
`PickByCount(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, PickByCount.OperationTypes op, Types.ExecType et)`
``
`PickByCount(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, PickByCount.OperationTypes op, Types.ExecType et, boolean inMemoryInput)`
``
`PMapMult(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt)`
``
`PMMJ(Lop pminput, Lop rightinput, Lop nrow, Types.DataType dt, Types.ValueType vt, boolean partitioned, boolean emptyBlocks, Types.ExecType et)`
Constructor to setup a Permutation Matrix Multiplication
``
`ReBlock(Lop input, int blen, Types.DataType dt, Types.ValueType vt, boolean outputEmptyBlocks, Types.ExecType et)`
``
`RightIndex(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`RightIndex(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean forleft)`
``
`RightIndex(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
``
`SortKeys(Lop input, boolean desc, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`SortKeys(Lop input1, Lop input2, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
``
`SortKeys(Lop input, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
``
`Tee(Lop input1, Types.DataType dt, Types.ValueType vt)`
Constructor to be invoked by base class.
``
`Ternary(Types.OpOp3 op, Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
``
`TernaryAggregate(Lop input1, Lop input2, Lop input3, Types.AggOp aggOp, Types.OpOp2 binOp, Types.Direction direction, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, boolean outputEmptyBlock, Types.ExecType et)`
``
`Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bSortIndInMem)`
``
`Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bSortIndInMem, int k)`
``
`Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`Transform(Lop input, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`Transform(Lop input, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bSortIndInMem)`
``
`Transform(Lop input, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`UAggOuterChain(Lop input1, Lop input2, Types.AggOp uaop, Types.Direction uadir, Types.OpOp2 bop, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Constructor to setup a unaryagg outer chain
``
`Unary(Lop input1, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads, boolean inplace)`
Constructor to perform a unary operation with 1 input.
``
`Unary(Lop input1, Lop input2, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
Constructor to perform a unary operation with 2 inputs
``
`UnaryCP(Lop input, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt)`
``
`UnaryCP(Lop input, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, int k)`
``
`UnaryCP(Lop input, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`UnaryCP(Lop input, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
Constructor to perform a scalar operation
``
`WeightedCrossEntropy(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedCrossEntropy.WCeMMType wt, Types.ExecType et)`
``
`WeightedCrossEntropyR(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedCrossEntropy.WCeMMType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
``
`WeightedDivMM(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedDivMM.WDivMMType wt, Types.ExecType et)`
``
`WeightedDivMMR(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedDivMM.WDivMMType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
``
`WeightedSigmoid(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedSigmoid.WSigmoidType wt, Types.ExecType et)`
``
`WeightedSigmoidR(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedSigmoid.WSigmoidType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
``
`WeightedSquaredLoss(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedSquaredLoss.WeightsType wt, Types.ExecType et)`
``
`WeightedSquaredLossR(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedSquaredLoss.WeightsType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
``
`WeightedUnaryMM(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedUnaryMM.WUMMType wt, Types.OpOp1 op, Types.ExecType et)`
``
`WeightedUnaryMMR(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedUnaryMM.WUMMType wt, Types.OpOp1 op, boolean cacheU, boolean cacheV, Types.ExecType et)`
Constructor parameters in org.apache.sysds.lops with type arguments of type Lop
Modifier
Constructor
Description
``
`Data(Types.OpOpData op, Lop input, HashMap<String,Lop> inputParametersLops, String name, String literal, Types.DataType dt, Types.ValueType vt, Types.FileFormat fmt)`
Constructor to setup read or write LOP In case of write: `input` must be provided.
``
`DataGen(Types.OpOpDG op, DataIdentifier id, HashMap<String,Lop> inputParametersLops, String baseDir, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
Creates a new Rand-LOP.
``
`Federated(HashMap<String,Lop> inputLops, Types.DataType dataType, Types.ValueType valueType)`
``
`FunctionCallCP(ArrayList<Lop> inputs, String fnamespace, String fname, String[] inputNames, String[] outputNames, boolean opt, Types.ExecType et)`
``
`FunctionCallCP(ArrayList<Lop> inputs, String fnamespace, String fname, String[] inputNames, String[] outputNames, boolean opt, Types.ExecType et, int threads)`
``
`FunctionCallCP(ArrayList<Lop> inputs, String fnamespace, String fname, String[] inputNames, String[] outputNames, ArrayList<Hop> outputHops, boolean opt, Types.ExecType et)`
``
`FunctionCallCP(ArrayList<Lop> inputs, String fnamespace, String fname, String[] inputNames, String[] outputNames, ArrayList<Hop> outputHops, boolean opt, Types.ExecType et, int threads)`
``
`GroupedAggregate(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`GroupedAggregate(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean broadcastGroups)`
``
`GroupedAggregate(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`GroupedAggregateM(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, boolean partitioned, Types.ExecType et)`
``
`ParameterizedBuiltin(HashMap<String,Lop> paramLops, Types.ParamBuiltinOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
``
`ParameterizedBuiltin(HashMap<String,Lop> paramLops, Types.ParamBuiltinOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bRmEmptyBC)`
``
`ParameterizedBuiltin(HashMap<String,Lop> paramLops, Types.ParamBuiltinOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
``
`SpoofFused(ArrayList<Lop> inputs, Types.DataType dt, Types.ValueType vt, Class<?> cla, SpoofCompiler.GeneratorAPI api, String genVarName, int k, Types.ExecType etype)`
``
`Sql(HashMap<String,Lop> inputParametersLops, Types.DataType dt, Types.ValueType vt)`

## Uses of Lop in org.apache.sysds.lops.compile

Classes in org.apache.sysds.lops.compile with type parameters of type Lop
Modifier and Type
Class
Description
`class`
`Dag<N extends Lop>`
Class to maintain a DAG of lops and compile it into runtime instructions, incl piggybacking into jobs.
`class`
`LopComparator<N extends Lop>`
Comparator class used in sorting the LopDAG in topological order.
Methods in org.apache.sysds.lops.compile with parameters of type Lop
Modifier and Type
Method
Description
`boolean`
Dag.`addNode(Lop node)`
Method to add a node to the DAG.

## Uses of Lop in org.apache.sysds.lops.compile.linearization

Methods in org.apache.sysds.lops.compile.linearization that return types with arguments of type Lop
Modifier and Type
Method
Description
`abstract List<Lop>`
IDagLinearizer.`linearize(List<Lop> v)`
Linearized a DAG of lops into a sequence of lops that preserves all data dependencies.
`List<Lop>`
LinearizerBreadthFirst.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerCostBased.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerDepthFirst.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerMaxParallelism.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerMinIntermediates.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerPipelineAware.`linearize(List<Lop> v)`
Sort lops depth-first while assigning the nodes to pipelines
`List<Lop>`
LinearizerResourceAwareFast.`linearize(List<Lop> dag)`
`List<Lop>`
LinearizerResourceAwareOptimal.`linearize(List<Lop> v)`
Method parameters in org.apache.sysds.lops.compile.linearization with type arguments of type Lop
Modifier and Type
Method
Description
`abstract List<Lop>`
IDagLinearizer.`linearize(List<Lop> v)`
Linearized a DAG of lops into a sequence of lops that preserves all data dependencies.
`List<Lop>`
LinearizerBreadthFirst.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerCostBased.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerDepthFirst.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerMaxParallelism.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerMinIntermediates.`linearize(List<Lop> v)`
`List<Lop>`
LinearizerPipelineAware.`linearize(List<Lop> v)`
Sort lops depth-first while assigning the nodes to pipelines
`List<Lop>`
LinearizerResourceAwareFast.`linearize(List<Lop> dag)`
`List<Lop>`
LinearizerResourceAwareOptimal.`linearize(List<Lop> v)`

## Uses of Lop in org.apache.sysds.lops.rewrite

Methods in org.apache.sysds.lops.rewrite that return types with arguments of type Lop
Modifier and Type
Method
Description
`ArrayList<Lop>`
LopRewriter.`rewriteLopDAG(StatementBlock sb, ArrayList<Lop> lops)`
Method parameters in org.apache.sysds.lops.rewrite with type arguments of type Lop
Modifier and Type
Method
Description
`ArrayList<Lop>`
LopRewriter.`rewriteLopDAG(StatementBlock sb, ArrayList<Lop> lops)`

## Uses of Lop in org.apache.sysds.parser

Methods in org.apache.sysds.parser that return Lop
Modifier and Type
Method
Description
`Lop`
ForStatementBlock.`getFromLops()`
`Lop`
ForStatementBlock.`getIncrementLops()`
`Lop`
IfStatementBlock.`getPredicateLops()`
`Lop`
WhileStatementBlock.`getPredicateLops()`
`Lop`
ForStatementBlock.`getToLops()`
Methods in org.apache.sysds.parser that return types with arguments of type Lop
Modifier and Type
Method
Description
`ArrayList<Lop>`
StatementBlock.`getLops()`
Methods in org.apache.sysds.parser with parameters of type Lop
Modifier and Type
Method
Description
`void`
StatementBlock.`setCheckpointPosition(Lop input, List<Lop> outputs)`
`void`
ForStatementBlock.`setFromLops(Lop lops)`
`void`
ForStatementBlock.`setIncrementLops(Lop lops)`
`void`
IfStatementBlock.`setPredicateLops(Lop predicateLops)`
`void`
WhileStatementBlock.`setPredicateLops(Lop predicateLops)`
`void`
ForStatementBlock.`setToLops(Lop lops)`
Method parameters in org.apache.sysds.parser with type arguments of type Lop
Modifier and Type
Method
Description
`void`
StatementBlock.`setCheckpointPosition(Lop input, List<Lop> outputs)`
`void`
StatementBlock.`setLops(ArrayList<Lop> lops)`

## Uses of Lop in org.apache.sysds.runtime.instructions

Methods in org.apache.sysds.runtime.instructions with parameters of type Lop
Modifier and Type
Method
Description
`void`
Instruction.`setLocation(Lop lop)`