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

Packages that use SPInstruction
Package
Description
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
Modifier and Type
Method
Description
`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
Modifier and Type
Method
Description
`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
Modifier and Type
Class
Description
`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`