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

- Packages that use LineageTraceable
  Package | Description
  --- | ---
  org.apache.sysds.hops.rewrite |
  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.rewrite

    Classes in org.apache.sysds.hops.rewrite that implement LineageTraceable
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `RewriteFederatedExecution.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
    Modifier and Type | Class | Description
    --- | --- | ---
    `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
    Modifier and Type | Class | Description
    --- | --- | ---
    `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` | `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
    Modifier and Type | Class | Description
    --- | --- | ---
    `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
    Modifier and Type | Class | Description
    --- | --- | ---
    `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
    Modifier and Type | Class | Description
    --- | --- | ---
    `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
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AggregateTernarySPInstruction` |
    `class` | `AggregateUnarySketchSPInstruction` |
    `class` | `AggregateUnarySPInstruction` |
    `class` | `AppendGAlignedSPInstruction` |
    `class` | `AppendGSPInstruction` |
    `class` | `AppendMSPInstruction` |
    `class` | `AppendRSPInstruction` |
    `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` | `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` |