## Uses of Class
org.apache.sysds.runtime.instructions.spark.SPInstruction

Packages that use SPInstruction
org.apache.sysds.resource.cost
org.apache.sysds.runtime.instructions
org.apache.sysds.runtime.instructions.spark

### Uses of SPInstruction in org.apache.sysds.resource.cost

Methods in org.apache.sysds.resource.cost with parameters of type SPInstruction
`static void` SparkCostUtils.`assignOutputRDDStats​(SPInstruction inst, VarStats output, VarStats... inputs)`
`static double` SparkCostUtils.`getBinaryInstTime​(SPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics)`
`double` CostEstimator.`parseSPInst​(SPInstruction inst)` Parse a Spark instruction, and it stores the corresponding cost for computing the output variable in the RDD statistics' object related to that variable.

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

Methods in org.apache.sysds.runtime.instructions that return SPInstruction
`static SPInstruction` SPInstructionParser.`parseSingleInstruction​(String str)`
`static SPInstruction` SPInstructionParser.`parseSingleInstruction​(InstructionType sptype, String str)`

### Uses of SPInstruction in org.apache.sysds.runtime.instructions.spark

Subclasses of SPInstruction in org.apache.sysds.runtime.instructions.spark
`class` `AggregateBinarySPInstruction` Class to group the different MM `SPInstruction`s together.
`class` `AggregateTernarySPInstruction`
`class` `AggregateUnarySketchSPInstruction`
`class` `AggregateUnarySPInstruction`
`class` `AppendGAlignedSPInstruction`
`class` `AppendGSPInstruction`
`class` `AppendMSPInstruction`
`class` `AppendRSPInstruction`
`class` `AppendSPInstruction` Class to group the different append `SPInstruction`s together.
`class` `BinaryFrameFrameSPInstruction`
`class` `BinaryFrameMatrixSPInstruction`
`class` `BinaryMatrixBVectorSPInstruction`
`class` `BinaryMatrixMatrixSPInstruction`
`class` `BinaryMatrixScalarSPInstruction`
`class` `BinarySPInstruction`
`class` `BinaryTensorTensorBroadcastSPInstruction`
`class` `BinaryTensorTensorSPInstruction`
`class` `BinUaggChainSPInstruction` Instruction that performs res = X / rowsum(x)
`class` `BuiltinNarySPInstruction`
`class` `CastSPInstruction`
`class` `CentralMomentSPInstruction`
`class` `CheckpointSPInstruction`
`class` `CompressionSPInstruction`
`class` `ComputationSPInstruction`
`class` `CovarianceSPInstruction`
`class` `CpmmSPInstruction` Cpmm: cross-product matrix multiplication operation (distributed matrix multiply by join over common dimension and subsequent aggregation of partial results).
`class` `CSVReblockSPInstruction`
`class` `CtableSPInstruction`
`class` `CumulativeAggregateSPInstruction`
`class` `CumulativeOffsetSPInstruction`
`class` `DeCompressionSPInstruction`
`class` `DnnSPInstruction`
`class` `FrameAppendMSPInstruction`
`class` `FrameAppendRSPInstruction`
`class` `FrameIndexingSPInstruction` This class implements the frame indexing functionality inside Spark.
`class` `IndexingSPInstruction` This class implements the matrix indexing functionality inside Spark.
`class` `LIBSVMReblockSPInstruction`
`class` `MapmmChainSPInstruction`
`class` `MapmmSPInstruction`
`class` `MatrixAppendMSPInstruction`
`class` `MatrixAppendRSPInstruction`
`class` `MatrixIndexingSPInstruction` This class implements the matrix indexing functionality inside CP.
`class` `MatrixReshapeSPInstruction`
`class` `MultiReturnParameterizedBuiltinSPInstruction`
`class` `ParameterizedBuiltinSPInstruction`
`class` `PMapmmSPInstruction` This pmapmm matrix multiplication instruction is still experimental not integrated in automatic operator selection yet.
`class` `PmmSPInstruction`
`class` `QuantilePickSPInstruction`
`class` `QuantileSortSPInstruction` This class supports two variants of sort operation on a 1-dimensional input matrix.
`class` `QuaternarySPInstruction`
`class` `RandSPInstruction`
`class` `ReblockSPInstruction`
`class` `ReorgSPInstruction`
`class` `RmmSPInstruction`
`class` `SpoofSPInstruction`
`class` `TernaryFrameScalarSPInstruction`
`class` `TernarySPInstruction`
`class` `Tsmm2SPInstruction`
`class` `TsmmSPInstruction`
`class` `UaggOuterChainSPInstruction` Two types of broadcast variables used -- 1.
`class` `UnaryFrameSPInstruction`
`class` `UnaryMatrixSPInstruction`
`class` `UnarySPInstruction`
`class` `WriteSPInstruction`
`class` `ZipmmSPInstruction`