## Uses of Interface
org.apache.sysds.runtime.lineage.LineageTraceable

Packages that use LineageTraceable
org.apache.sysds.hops.fedplanner
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.instructions.cp
org.apache.sysds.runtime.instructions.cpfile
org.apache.sysds.runtime.instructions.fed
org.apache.sysds.runtime.instructions.gpu
org.apache.sysds.runtime.instructions.spark

### Uses of LineageTraceable in org.apache.sysds.hops.fedplanner

Classes in org.apache.sysds.hops.fedplanner that implement LineageTraceable
`static class` `PrivacyConstraintLoader.PrivacyConstraintRetriever` FederatedUDF for retrieving privacy constraint of data stored in file name.

### Uses of LineageTraceable in org.apache.sysds.runtime.controlprogram.federated

Classes in org.apache.sysds.runtime.controlprogram.federated that implement LineageTraceable
`static class` `FederatedStatistics.FedStatsCollectFunction`
`class` `FederatedUDF`

### Uses of LineageTraceable in org.apache.sysds.runtime.instructions.cp

Classes in org.apache.sysds.runtime.instructions.cp that implement LineageTraceable
`class` `AggregateBinaryCPInstruction`
`class` `AggregateTernaryCPInstruction`
`class` `AggregateUnaryCPInstruction`
`class` `AppendCPInstruction`
`class` `BinaryCPInstruction`
`class` `BinaryFrameFrameCPInstruction`
`class` `BinaryFrameMatrixCPInstruction`
`class` `BinaryMatrixMatrixCPInstruction`
`class` `BinaryMatrixScalarCPInstruction`
`class` `BinaryScalarScalarCPInstruction`
`class` `BinaryTensorTensorCPInstruction`
`class` `BroadcastCPInstruction`
`class` `CentralMomentCPInstruction`
`class` `CompressionCPInstruction`
`class` `ComputationCPInstruction`
`class` `CovarianceCPInstruction`
`class` `CtableCPInstruction`
`class` `DataGenCPInstruction`
`class` `DeCompressionCPInstruction`
`class` `DnnCPInstruction`
`class` `EvictCPInstruction`
`class` `FrameAppendCPInstruction`
`class` `FrameIndexingCPInstruction`
`class` `IndexingCPInstruction`
`class` `ListAppendRemoveCPInstruction`
`class` `ListIndexingCPInstruction`
`class` `LocalCPInstruction` A simple instruction that take whatever input it is and return it as a local matrix.
`class` `MatrixAppendCPInstruction`
`class` `MatrixBuiltinNaryCPInstruction`
`class` `MatrixIndexingCPInstruction`
`class` `MMChainCPInstruction`
`class` `MMTSJCPInstruction`
`class` `MultiReturnBuiltinCPInstruction`
`class` `MultiReturnParameterizedBuiltinCPInstruction`
`class` `ParameterizedBuiltinCPInstruction`
`class` `ParamservBuiltinCPInstruction`
`class` `PMMJCPInstruction`
`class` `PrefetchCPInstruction`
`class` `QuantilePickCPInstruction`
`class` `QuantileSortCPInstruction` This class supports two variants of sort operation on a 1-dimensional input matrix.
`class` `QuaternaryCPInstruction`
`class` `ReorgCPInstruction`
`class` `ReshapeCPInstruction`
`class` `ScalarAppendCPInstruction`
`class` `ScalarBuiltinNaryCPInstruction` The ScalarBuiltinMultipleCPInstruction class is responsible for printf-style Java-based string formatting.
`class` `SpoofCPInstruction`
`class` `StringInitCPInstruction`
`class` `TernaryCPInstruction`
`class` `TernaryFrameScalarCPInstruction`
`class` `UaggOuterChainCPInstruction`
`class` `UnaryCPInstruction`
`class` `UnaryFrameCPInstruction`
`class` `UnaryMatrixCPInstruction`
`class` `UnaryScalarCPInstruction`
`class` `VariableCPInstruction`

### Uses of LineageTraceable in org.apache.sysds.runtime.instructions.cpfile

Classes in org.apache.sysds.runtime.instructions.cpfile that implement LineageTraceable
`class` `MatrixIndexingCPFileInstruction` This instruction is used if a single partition is too large to fit in memory.

### Uses of LineageTraceable in org.apache.sysds.runtime.instructions.fed

Classes in org.apache.sysds.runtime.instructions.fed that implement LineageTraceable
`class` `AggregateBinaryFEDInstruction`
`class` `AggregateTernaryFEDInstruction`
`class` `AggregateUnaryFEDInstruction`
`class` `AppendFEDInstruction`
`class` `BinaryFEDInstruction`
`class` `BinaryMatrixMatrixFEDInstruction`
`class` `BinaryMatrixScalarFEDInstruction`
`class` `CastFEDInstruction`
`class` `CentralMomentFEDInstruction`
`class` `ComputationFEDInstruction`
`class` `CovarianceFEDInstruction`
`class` `CtableFEDInstruction`
`class` `CumulativeOffsetFEDInstruction`
`class` `IndexingFEDInstruction`
`class` `InitFEDInstruction`
`class` `MMChainFEDInstruction`
`class` `MMFEDInstruction`
`class` `MultiReturnParameterizedBuiltinFEDInstruction`
`static class` `MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder`
`static class` `MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder`
`class` `ParameterizedBuiltinFEDInstruction`
`static class` `ParameterizedBuiltinFEDInstruction.DecodeMatrix`
`class` `QuantilePickFEDInstruction`
`static class` `QuantilePickFEDInstruction.CreateMatrixFromFrame`
`static class` `QuantilePickFEDInstruction.GetHistogram`
`static class` `QuantilePickFEDInstruction.GetValuesInRange`
`static class` `QuantilePickFEDInstruction.GetValuesInRanges`
`static class` `QuantilePickFEDInstruction.MinMax`
`class` `QuantileSortFEDInstruction`
`class` `QuaternaryFEDInstruction`
`class` `QuaternaryWCeMMFEDInstruction`
`class` `QuaternaryWDivMMFEDInstruction`
`class` `QuaternaryWSigmoidFEDInstruction`
`class` `QuaternaryWSLossFEDInstruction`
`class` `QuaternaryWUMMFEDInstruction`
`class` `ReblockFEDInstruction`
`class` `ReorgFEDInstruction`
`static class` `ReorgFEDInstruction.DiagMatrix`
`static class` `ReorgFEDInstruction.Rdiag`
`class` `ReshapeFEDInstruction`
`class` `TernaryFEDInstruction`
`class` `TernaryFrameScalarFEDInstruction`
`class` `TsmmFEDInstruction`
`class` `UnaryFEDInstruction`
`class` `UnaryMatrixFEDInstruction`
`class` `VariableFEDInstruction`

### Uses of LineageTraceable in org.apache.sysds.runtime.instructions.gpu

Classes in org.apache.sysds.runtime.instructions.gpu that implement LineageTraceable
`class` `AggregateBinaryGPUInstruction`
`class` `AggregateUnaryGPUInstruction` Implements aggregate unary instructions for CUDA
`class` `ArithmeticBinaryGPUInstruction`
`class` `BuiltinBinaryGPUInstruction`
`class` `BuiltinUnaryGPUInstruction`
`class` `DnnGPUInstruction`
`class` `GPUInstruction`
`class` `MatrixAppendGPUInstruction` Implements the cbind and rbind functions for matrices
`class` `MatrixBuiltinGPUInstruction`
`class` `MatrixIndexingGPUInstruction`
`class` `MatrixMatrixArithmeticGPUInstruction`
`class` `MatrixMatrixAxpyGPUInstruction`
`class` `MatrixMatrixBuiltinGPUInstruction`
`class` `MatrixMatrixRelationalBinaryGPUInstruction`
`class` `MatrixReshapeGPUInstruction`
`class` `MMTSJGPUInstruction`
`class` `RelationalBinaryGPUInstruction`
`class` `ReorgGPUInstruction`
`class` `ScalarMatrixArithmeticGPUInstruction`
`class` `ScalarMatrixBuiltinGPUInstruction`
`class` `ScalarMatrixRelationalBinaryGPUInstruction`
`class` `SpoofCUDAInstruction`

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

Classes in org.apache.sysds.runtime.instructions.spark that implement LineageTraceable
`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` `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`