# Uses of Class
org.apache.sysds.runtime.controlprogram.caching.MatrixObject

Packages that use MatrixObject
Package
Description
org.apache.sysds.api.mlcontext
org.apache.sysds.hops.rewrite
org.apache.sysds.runtime.codegen
org.apache.sysds.runtime.controlprogram.caching
org.apache.sysds.runtime.controlprogram.context
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.controlprogram.paramserv
org.apache.sysds.runtime.controlprogram.paramserv.dp
org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption
org.apache.sysds.runtime.controlprogram.parfor
org.apache.sysds.runtime.controlprogram.parfor.opt
org.apache.sysds.runtime.instructions.cp
org.apache.sysds.runtime.instructions.fed
org.apache.sysds.runtime.instructions.gpu.context
org.apache.sysds.runtime.instructions.spark.utils
org.apache.sysds.runtime.lineage
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.util

## Uses of MatrixObject in org.apache.sysds.api.mlcontext

Methods in org.apache.sysds.api.mlcontext that return MatrixObject
Modifier and Type
Method
Description
`static MatrixObject`
MLContextConversionUtil.`binaryBlocksToMatrixObject(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> binaryBlocks)`
Convert a `JavaPairRDD<MatrixIndexes, MatrixBlock>` to a `MatrixObject`.
`static MatrixObject`
MLContextConversionUtil.`binaryBlocksToMatrixObject(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> binaryBlocks, MatrixMetadata matrixMetadata)`
Convert a `JavaPairRDD<MatrixIndexes, MatrixBlock>` to a `MatrixObject`.
`static MatrixObject`
MLContextConversionUtil.`dataFrameToMatrixObject(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> dataFrame)`
Convert a `DataFrame` to a `MatrixObject`.
`static MatrixObject`
MLContextConversionUtil.`dataFrameToMatrixObject(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> dataFrame, MatrixMetadata matrixMetadata)`
Convert a `DataFrame` to a `MatrixObject`.
`static MatrixObject`
MLContextConversionUtil.`doubleMatrixToMatrixObject(String variableName, double[][] doubleMatrix)`
Convert a two-dimensional double array to a `MatrixObject`.
`static MatrixObject`
MLContextConversionUtil.`doubleMatrixToMatrixObject(String variableName, double[][] doubleMatrix, MatrixMetadata matrixMetadata)`
Convert a two-dimensional double array to a `MatrixObject`.
`MatrixObject`
MLResults.`getMatrixObject(String outputName)`
Obtain an output as a `MatrixObject`
`static MatrixObject`
MLContextConversionUtil.`javaRDDStringCSVToMatrixObject(org.apache.spark.api.java.JavaRDD<String> javaRDD)`
Convert a `JavaRDD<String>` in CSV format to a `MatrixObject`
`static MatrixObject`
MLContextConversionUtil.`javaRDDStringCSVToMatrixObject(org.apache.spark.api.java.JavaRDD<String> javaRDD, MatrixMetadata matrixMetadata)`
Convert a `JavaRDD<String>` in CSV format to a `MatrixObject`
`static MatrixObject`
MLContextConversionUtil.`javaRDDStringIJVToMatrixObject(org.apache.spark.api.java.JavaRDD<String> javaRDD, MatrixMetadata matrixMetadata)`
Convert a `JavaRDD<String>` in IJV format to a `MatrixObject` .
`static MatrixObject`
MLContextConversionUtil.`matrixBlockToMatrixObject(String variableName, MatrixBlock matrixBlock, MatrixMetadata matrixMetadata)`
Convert a `MatrixBlock` to a `MatrixObject`.
`static MatrixObject`
MLContextConversionUtil.`rddStringCSVToMatrixObject(org.apache.spark.rdd.RDD<String> rdd)`
Convert a `RDD<String>` in CSV format to a `MatrixObject`
`static MatrixObject`
MLContextConversionUtil.`rddStringCSVToMatrixObject(org.apache.spark.rdd.RDD<String> rdd, MatrixMetadata matrixMetadata)`
Convert a `RDD<String>` in CSV format to a `MatrixObject`
`static MatrixObject`
MLContextConversionUtil.`rddStringIJVToMatrixObject(org.apache.spark.rdd.RDD<String> rdd, MatrixMetadata matrixMetadata)`
Convert a `RDD<String>` in IJV format to a `MatrixObject`.
`MatrixObject`
Matrix.`toMatrixObject()`
Obtain the matrix as a SystemDS MatrixObject.
`static MatrixObject`
MLContextConversionUtil.`urlToMatrixObject(URL url, MatrixMetadata matrixMetadata)`
Convert a matrix at a URL to a `MatrixObject`.
Methods in org.apache.sysds.api.mlcontext with parameters of type MatrixObject
Modifier and Type
Method
Description
`static double[][]`
MLContextConversionUtil.`matrixObjectTo2DDoubleArray(MatrixObject matrixObject)`
Convert a `MatrixObject` to a two-dimensional double array.
`static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock>`
MLContextConversionUtil.`matrixObjectToBinaryBlocks(MatrixObject matrixObject, SparkExecutionContext sparkExecutionContext)`
Convert a `MatrixObject` to a `JavaPairRDD<MatrixIndexes, MatrixBlock>`.
`static org.apache.spark.sql.Dataset<org.apache.spark.sql.Row>`
MLContextConversionUtil.`matrixObjectToDataFrame(MatrixObject matrixObject, SparkExecutionContext sparkExecutionContext, boolean isVectorDF)`
Convert a `MatrixObject` to a `DataFrame`.
`static org.apache.spark.api.java.JavaRDD<String>`
MLContextConversionUtil.`matrixObjectToJavaRDDStringCSV(MatrixObject matrixObject)`
Convert a `MatrixObject` to a `JavaRDD<String>` in CSV format.
`static org.apache.spark.api.java.JavaRDD<String>`
MLContextConversionUtil.`matrixObjectToJavaRDDStringIJV(MatrixObject matrixObject)`
Convert a `MatrixObject` to a `JavaRDD<String>` in IJV format.
`static List<String>`
MLContextConversionUtil.`matrixObjectToListStringCSV(MatrixObject matrixObject)`
Convert a `MatrixObject` to a `List<String>` in CSV format.
`static List<String>`
MLContextConversionUtil.`matrixObjectToListStringIJV(MatrixObject matrixObject)`
Convert a `MatrixObject` to a `List<String>` in IJV format.
`static org.apache.spark.rdd.RDD<String>`
MLContextConversionUtil.`matrixObjectToRDDStringCSV(MatrixObject matrixObject)`
Convert a `MatrixObject` to a `RDD<String>` in CSV format.
`static org.apache.spark.rdd.RDD<String>`
MLContextConversionUtil.`matrixObjectToRDDStringIJV(MatrixObject matrixObject)`
Convert a `MatrixObject` to a `RDD<String>` in IJV format.
Constructors in org.apache.sysds.api.mlcontext with parameters of type MatrixObject
Modifier
Constructor
Description
``
`Matrix(MatrixObject matrixObject, SparkExecutionContext sparkExecutionContext)`

## Uses of MatrixObject in org.apache.sysds.hops.rewrite

Methods in org.apache.sysds.hops.rewrite with parameters of type MatrixObject
Modifier and Type
Method
Description
`static void`
HopRewriteUtils.`copyLineNumbers(MatrixObject mo, Hop tread)`
`static DataOp`
HopRewriteUtils.`createTransientRead(String name, MatrixObject mo)`

## Uses of MatrixObject in org.apache.sysds.runtime.codegen

Methods in org.apache.sysds.runtime.codegen that return MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
SpoofCUDACellwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
`MatrixObject`
SpoofCUDAOperator.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
`MatrixObject`
SpoofCUDARowwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
Methods in org.apache.sysds.runtime.codegen with parameters of type MatrixObject
Modifier and Type
Method
Description
`default void`
SpoofCUDAOperator.`packDataForTransfer(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, MatrixObject out_obj, int num_inputs, int ID, long grix, boolean tB1, jcuda.Pointer[] ptr)`
`default void`
SpoofCUDAOperator.`prepareMatrixPointers(ByteBuffer buf, ExecutionContext ec, MatrixObject mo, boolean tB1)`
Method parameters in org.apache.sysds.runtime.codegen with type arguments of type MatrixObject
Modifier and Type
Method
Description
`ScalarObject`
SpoofCUDACellwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)`
`MatrixObject`
SpoofCUDACellwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
`ScalarObject`
SpoofCUDAOperator.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)`
`MatrixObject`
SpoofCUDAOperator.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
`ScalarObject`
SpoofCUDARowwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)`
`MatrixObject`
SpoofCUDARowwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
`static boolean`
SpoofRowwise.`hasMatrixObjectSideInput(ArrayList<MatrixObject> inputs)`
`default void`
SpoofCUDAOperator.`packDataForTransfer(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, MatrixObject out_obj, int num_inputs, int ID, long grix, boolean tB1, jcuda.Pointer[] ptr)`

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.caching

Constructors in org.apache.sysds.runtime.controlprogram.caching with parameters of type MatrixObject
Modifier
Constructor
Description
``
`MatrixObject(MatrixObject mo)`
Copy constructor that copies meta data but NO data.

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.context

Subclasses of MatrixObject in org.apache.sysds.runtime.controlprogram.context
Modifier and Type
Class
Description
`class`
`MatrixObjectFuture`
Methods in org.apache.sysds.runtime.controlprogram.context that return MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
ExecutionContext.`allocateGPUMatrixObject(String varName, long numRows, long numCols)`
Allocates the `GPUObject` for a given LOPS Variable (eg.
`static MatrixObject`
ExecutionContext.`createMatrixObject(MatrixBlock mb)`
`static MatrixObject`
ExecutionContext.`createMatrixObject(DataCharacteristics dc)`
`MatrixObject`
ExecutionContext.`getMatrixInputForGPUInstruction(String varName, String opcode)`
`MatrixObject`
ExecutionContext.`getMatrixObject(String varname)`
`MatrixObject`
ExecutionContext.`getMatrixObject(CPOperand input)`
Methods in org.apache.sysds.runtime.controlprogram.context that return types with arguments of type MatrixObject
Modifier and Type
Method
Description
`Pair<MatrixObject,Boolean>`
ExecutionContext.`getDenseMatrixOutputForGPUInstruction(String varName, long numRows, long numCols)`
Allocates a dense matrix on the GPU (for output)
`Pair<MatrixObject,Boolean>`
ExecutionContext.`getDenseMatrixOutputForGPUInstruction(String varName, long numRows, long numCols, boolean initialize)`
`Pair<MatrixObject,Boolean>`
ExecutionContext.`getSparseMatrixOutputForGPUInstruction(String varName, long numRows, long numCols, long nnz)`
Allocates a sparse matrix in CSR format on the GPU.
`Pair<MatrixObject,Boolean>`
ExecutionContext.`getSparseMatrixOutputForGPUInstruction(String varName, long numRows, long numCols, long nnz, boolean initialize)`
Methods in org.apache.sysds.runtime.controlprogram.context with parameters of type MatrixObject
Modifier and Type
Method
Description
`PartitionedBroadcast<MatrixBlock>`
SparkExecutionContext.`getBroadcastForMatrixObject(MatrixObject mo)`
`long`
ExecutionContext.`getGPUDensePointerAddress(MatrixObject obj)`
`CSRPointer`
ExecutionContext.`getGPUSparsePointerAddress(MatrixObject obj)`
`org.apache.spark.api.java.JavaPairRDD<?,?>`
SparkExecutionContext.`getRDDHandleForMatrixObject(MatrixObject mo, Types.FileFormat fmt)`
`org.apache.spark.api.java.JavaPairRDD<?,?>`
SparkExecutionContext.`getRDDHandleForMatrixObject(MatrixObject mo, Types.FileFormat fmt, int numParts, boolean inclEmpty)`
`void`
SparkExecutionContext.`setBroadcastHandle(MatrixObject mo)`
Constructors in org.apache.sysds.runtime.controlprogram.context with parameters of type MatrixObject
Modifier
Constructor
Description
``
`MatrixObjectFuture(MatrixObject mo, Future<MatrixBlock> fmb)`

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

Methods in org.apache.sysds.runtime.controlprogram.federated that return MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
MatrixLineagePair.`getMO()`
Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type MatrixObject
Modifier and Type
Method
Description
`static void`
FederationUtils.`checkFedMapType(MatrixObject mo)`
`static MatrixLineagePair`
MatrixLineagePair.`of(MatrixObject mo, LineageItem li)`
Constructors in org.apache.sysds.runtime.controlprogram.federated with parameters of type MatrixObject
Modifier
Constructor
Description
``
`MatrixLineagePair(MatrixObject mo, LineageItem li)`

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.paramserv

Methods in org.apache.sysds.runtime.controlprogram.paramserv that return MatrixObject
Modifier and Type
Method
Description
`static MatrixObject`
ParamservUtils.`createShallowCopy(MatrixObject mo)`
`MatrixObject`
PSWorker.`getFeatures()`
`MatrixObject`
PSWorker.`getLabels()`
`static MatrixObject`
ParamservUtils.`newMatrixObject(MatrixBlock mb)`
`static MatrixObject`
ParamservUtils.`newMatrixObject(MatrixBlock mb, boolean cleanup)`
`static MatrixObject`
ParamservUtils.`sliceMatrix(MatrixObject mo, long rl, long rh)`
Slice the matrix
Methods in org.apache.sysds.runtime.controlprogram.paramserv with parameters of type MatrixObject
Modifier and Type
Method
Description
`static HEParamServer`
HEParamServer.`create(ListObject model, String aggFunc, Statement.PSUpdateType updateType, Statement.PSFrequency freq, ExecutionContext ec, int workerNum, String valFunc, int numBatchesPerEpoch, MatrixObject valFeatures, MatrixObject valLabels, int nbatches, int numBackupWorkers)`
`static LocalParamServer`
LocalParamServer.`create(ListObject model, String aggFunc, Statement.PSUpdateType updateType, Statement.PSFrequency freq, ExecutionContext ec, int workerNum, String valFunc, int numBatchesPerEpoch, MatrixObject valFeatures, MatrixObject valLabels, int nbatches, boolean modelAvg, int numBackupWorkers)`
`static MatrixObject`
ParamservUtils.`createShallowCopy(MatrixObject mo)`
`static org.apache.spark.api.java.JavaPairRDD<Integer,scala.Tuple2<MatrixBlock,MatrixBlock>>`
SparkParamservUtils.`doPartitionOnSpark(SparkExecutionContext sec, MatrixObject features, MatrixObject labels, Statement.PSScheme scheme, int workerNum)`
`void`
PSWorker.`setFeatures(MatrixObject features)`
`void`
PSWorker.`setLabels(MatrixObject labels)`
`static MatrixObject`
ParamservUtils.`sliceMatrix(MatrixObject mo, long rl, long rh)`
Slice the matrix

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.paramserv.dp

Fields in org.apache.sysds.runtime.controlprogram.paramserv.dp with type parameters of type MatrixObject
Modifier and Type
Field
Description
`final List<MatrixObject>`
DataPartitionFederatedScheme.Result.`_pFeatures`
`final List<MatrixObject>`
DataPartitionFederatedScheme.Result.`_pLabels`
`final List<MatrixObject>`
DataPartitionLocalScheme.Result.`pFeatures`
`final List<MatrixObject>`
DataPartitionLocalScheme.Result.`pLabels`
Methods in org.apache.sysds.runtime.controlprogram.paramserv.dp with parameters of type MatrixObject
Modifier and Type
Method
Description
`DataPartitionFederatedScheme.Result`
FederatedDataPartitioner.`doPartitioning(MatrixObject features, MatrixObject labels)`
`DataPartitionFederatedScheme.Result`
BalanceToAvgFederatedScheme.`partition(MatrixObject features, MatrixObject labels, int seed)`
`abstract DataPartitionFederatedScheme.Result`
DataPartitionFederatedScheme.`partition(MatrixObject features, MatrixObject labels, int seed)`
`DataPartitionFederatedScheme.Result`
KeepDataOnWorkerFederatedScheme.`partition(MatrixObject features, MatrixObject labels, int seed)`
`DataPartitionFederatedScheme.Result`
ReplicateToMaxFederatedScheme.`partition(MatrixObject features, MatrixObject labels, int seed)`
`DataPartitionFederatedScheme.Result`
ShuffleFederatedScheme.`partition(MatrixObject features, MatrixObject labels, int seed)`
`DataPartitionFederatedScheme.Result`
SubsampleToMinFederatedScheme.`partition(MatrixObject features, MatrixObject labels, int seed)`
Constructor parameters in org.apache.sysds.runtime.controlprogram.paramserv.dp with type arguments of type MatrixObject
Modifier
Constructor
Description
``
`Result(List<MatrixObject> pFeatures, List<MatrixObject> pLabels, int workerNum, DataPartitionFederatedScheme.BalanceMetrics balanceMetrics, List<Double> weightingFactors)`
``
`Result(List<MatrixObject> pFeatures, List<MatrixObject> pLabels)`

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption

Methods in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption that return MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
SEALServer.`average(CiphertextMatrix encrypted_sum, PlaintextMatrix[] partial_plaintexts)`
averages the partial decryptions
Methods in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption with parameters of type MatrixObject
Modifier and Type
Method
Description
`CiphertextMatrix`
SEALClient.`encrypt(MatrixObject plaintext)`
encrypts one block of data with public key stored statically and returns it setPublicKey() must have been called before calling this

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.parfor

Methods in org.apache.sysds.runtime.controlprogram.parfor that return MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
DataPartitioner.`createPartitionedMatrixObject(MatrixObject in, String fnameNew)`
`MatrixObject`
DataPartitioner.`createPartitionedMatrixObject(MatrixObject in, String fnameNew, boolean force)`
`MatrixObject`
DataPartitioner.`createPartitionedMatrixObject(MatrixObject in, MatrixObject out, boolean force)`
Creates a partitioned matrix object based on the given input matrix object, according to the specified split format.
`MatrixObject`
ResultMergeLocalAutomatic.`executeParallelMerge(int par)`
`MatrixObject`
ResultMergeLocalFile.`executeParallelMerge(int par)`
`MatrixObject`
ResultMergeLocalMemory.`executeParallelMerge(int par)`
`MatrixObject`
ResultMergeRemoteSpark.`executeParallelMerge(int par)`
`MatrixObject`
ResultMergeRemoteSparkWCompare.`executeParallelMerge(int par)`
`MatrixObject`
ResultMergeLocalAutomatic.`executeSerialMerge()`
`MatrixObject`
ResultMergeLocalFile.`executeSerialMerge()`
`MatrixObject`
ResultMergeLocalMemory.`executeSerialMerge()`
`MatrixObject`
ResultMergeRemoteSpark.`executeSerialMerge()`
`MatrixObject`
ResultMergeRemoteSparkWCompare.`executeSerialMerge()`
Methods in org.apache.sysds.runtime.controlprogram.parfor with parameters of type MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
DataPartitioner.`createPartitionedMatrixObject(MatrixObject in, String fnameNew)`
`MatrixObject`
DataPartitioner.`createPartitionedMatrixObject(MatrixObject in, String fnameNew, boolean force)`
`MatrixObject`
DataPartitioner.`createPartitionedMatrixObject(MatrixObject in, MatrixObject out, boolean force)`
Creates a partitioned matrix object based on the given input matrix object, according to the specified split format.
`static RemoteParForJobReturn`
RemoteDPParForSpark.`runJob(long pfid, String itervar, String matrixvar, String program, HashMap<String,byte[]> clsMap, String resultFile, MatrixObject input, ExecutionContext ec, ParForProgramBlock.PartitionFormat dpf, Types.FileFormat fmt, boolean tSparseCol, boolean enableCPCaching, int numReducers)`
Constructors in org.apache.sysds.runtime.controlprogram.parfor with parameters of type MatrixObject
Modifier
Constructor
Description
``
`ResultMergeLocalAutomatic(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum)`
``
`ResultMergeLocalFile(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum)`
``
`ResultMergeLocalMemory(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum)`
``
`ResultMergeMatrix(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum)`
``
`ResultMergeRemoteSpark(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum, ExecutionContext ec, int numMappers, int numReducers)`

## Uses of MatrixObject in org.apache.sysds.runtime.controlprogram.parfor.opt

Methods in org.apache.sysds.runtime.controlprogram.parfor.opt with parameters of type MatrixObject
Modifier and Type
Method
Description
`static boolean`
OptimizerRuleBased.`allowsBinaryCellPartitions(MatrixObject mo, ParForProgramBlock.PartitionFormat dpf)`

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

Constructors in org.apache.sysds.runtime.instructions.cp with parameters of type MatrixObject
Modifier
Constructor
Description
``
`TriggerBroadcastTask(ExecutionContext ec, MatrixObject mo)`
``
`TriggerCheckpointTask(MatrixObject mo)`
``
`TriggerPrefetchTask(MatrixObject mo)`
``
`TriggerPrefetchTask(MatrixObject mo, LineageItem li)`

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

Methods in org.apache.sysds.runtime.instructions.fed with parameters of type MatrixObject
Modifier and Type
Method
Description
`static void`
MultiReturnParameterizedBuiltinFEDInstruction.`encodeFederatedFrames(FederationMap fedMapping, MultiColumnEncoder globalencoder, MatrixObject transformedMat)`
`void`
UnaryMatrixFEDInstruction.`processCumulativeInstruction(ExecutionContext ec, MatrixObject mo1)`

## Uses of MatrixObject in org.apache.sysds.runtime.instructions.gpu.context

Methods in org.apache.sysds.runtime.instructions.gpu.context that return MatrixObject
Modifier and Type
Method
Description
`MatrixObject`
GPUObject.`getMatrixObject()`
Methods in org.apache.sysds.runtime.instructions.gpu.context with parameters of type MatrixObject
Modifier and Type
Method
Description
`GPUObject`
GPUContext.`createGPUObject(MatrixObject mo)`
Instantiates a new `GPUObject` initialized with the given `MatrixObject`.
`GPUObject`
GPUContext.`shallowCopyGPUObject(GPUObject source, MatrixObject mo)`
Shallow copy the given source `GPUObject` to a new `GPUObject` and assign that to the given `MatrixObject`.
Constructors in org.apache.sysds.runtime.instructions.gpu.context with parameters of type MatrixObject
Modifier
Constructor
Description
``
`GPUObject(GPUContext gCtx, MatrixObject mat, jcuda.Pointer ptr)`
``
`GPUObject(GPUContext gCtx, GPUObject that, MatrixObject mat)`

## Uses of MatrixObject in org.apache.sysds.runtime.instructions.spark.utils

Methods in org.apache.sysds.runtime.instructions.spark.utils with parameters of type MatrixObject
Modifier and Type
Method
Description
`static long`
SparkUtils.`getNonZeros(MatrixObject mo)`
`static void`
SparkUtils.`postprocessUltraSparseOutput(MatrixObject mo, DataCharacteristics mcOut)`

## Uses of MatrixObject in org.apache.sysds.runtime.lineage

Methods in org.apache.sysds.runtime.lineage with parameters of type MatrixObject
Modifier and Type
Method
Description
`static FederatedResponse`
LineageItemUtils.`setUDFResponse(FederatedUDF udf, MatrixObject mo)`

## Uses of MatrixObject in org.apache.sysds.runtime.matrix.data

Methods in org.apache.sysds.runtime.matrix.data that return MatrixObject
Modifier and Type
Method
Description
`static MatrixObject`
LibMatrixCUDA.`getDenseMatrixOutputForGPUInstruction(ExecutionContext ec, String instName, String name, long numRows, long numCols)`
Helper method to get the output block (allocated on the GPU) Also records performance information into `Statistics`
`static MatrixObject`
LibMatrixCUDA.`getDenseMatrixOutputForGPUInstruction(ExecutionContext ec, String instName, String name, long numRows, long numCols, boolean initialize)`
`static MatrixObject`
LibMatrixCuMatMult.`matmult(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject left, MatrixObject right, String outputName, boolean isLeftTransposed, boolean isRightTransposed)`
Matrix multiply on GPU Examines sparsity and shapes and routes call to appropriate method from cuBLAS or cuSparse C = op(A) x op(B) The user is expected to call ec.releaseMatrixOutputForGPUInstruction(outputName);
Methods in org.apache.sysds.runtime.matrix.data with parameters of type MatrixObject
Modifier and Type
Method
Description
`static void`
LibMatrixCUDA.`abs(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "abs" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`acos(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "acos" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`asin(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "asin" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`atan(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "atan" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`axpy(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, MatrixObject in2, String outputName, double constant)`
Performs daxpy operation
`static void`
LibMatrixCuDNN.`batchNormalizationBackward(GPUContext gCtx, String instName, MatrixObject image, MatrixObject dout, MatrixObject scale, MatrixObject dX, MatrixObject dScale, MatrixObject dBias, double epsilon, MatrixObject resultSaveMean, MatrixObject resultSaveInvVariance)`
This method computes the backpropagation errors for image, scale and bias of batch normalization layer
`static void`
LibMatrixCuDNN.`batchNormalizationForwardInference(GPUContext gCtx, String instName, MatrixObject image, MatrixObject scale, MatrixObject bias, MatrixObject runningMean, MatrixObject runningVar, MatrixObject ret, double epsilon)`
Performs the forward BatchNormalization layer computation for inference
`static void`
LibMatrixCuDNN.`batchNormalizationForwardTraining(GPUContext gCtx, String instName, MatrixObject image, MatrixObject scale, MatrixObject bias, MatrixObject runningMean, MatrixObject runningVar, MatrixObject ret, MatrixObject retRunningMean, MatrixObject retRunningVar, double epsilon, double exponentialAverageFactor, MatrixObject resultSaveMean, MatrixObject resultSaveInvVariance)`
Performs the forward BatchNormalization layer computation for training
`static void`
LibMatrixCUDA.`biasAdd(GPUContext gCtx, String instName, MatrixObject input, MatrixObject bias, MatrixObject outputBlock)`
Performs the operation corresponding to the DML script: ones = matrix(1, rows=1, cols=Hout*Wout) output = input + matrix(bias %*% ones, rows=1, cols=F*Hout*Wout) This operation is often followed by conv2d and hence we have introduced bias_add(input, bias) built-in function
`static void`
LibMatrixCUDA.`biasMultiply(GPUContext gCtx, String instName, MatrixObject input, MatrixObject bias, MatrixObject outputBlock)`
Performs the operation corresponding to the DML script: ones = matrix(1, rows=1, cols=Hout*Wout) output = input * matrix(bias %*% ones, rows=1, cols=F*Hout*Wout) This operation is often followed by conv2d and hence we have introduced bias_add(input, bias) built-in function
`static void`
LibMatrixCUDA.`cbind(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, MatrixObject in2, String outputName)`
`static void`
LibMatrixCUDA.`ceil(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "ceil" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`channelSums(GPUContext gCtx, String instName, MatrixObject input, MatrixObject outputBlock, long C, long HW)`
Perform channel_sums operations: out = rowSums(matrix(colSums(A), rows=C, cols=HW))
`static void`
LibMatrixCuDNN.`conv2d(GPUContext gCtx, String instName, MatrixObject image, MatrixObject filter, MatrixObject outputBlock, int N, int C, int H, int W, int K, int R, int S, int pad_h, int pad_w, int stride_h, int stride_w, int P, int Q, double intermediateMemoryBudget)`
Performs a 2D convolution
`static void`
LibMatrixCuDNN.`conv2dBackwardData(GPUContext gCtx, String instName, MatrixObject filter, MatrixObject dout, MatrixObject output, int N, int C, int H, int W, int K, int R, int S, int pad_h, int pad_w, int stride_h, int stride_w, int P, int Q, double intermediateMemoryBudget)`
This method computes the backpropogation errors for previous layer of convolution operation
`static void`
LibMatrixCuDNN.`conv2dBackwardFilter(GPUContext gCtx, String instName, MatrixObject image, MatrixObject dout, MatrixObject outputBlock, int N, int C, int H, int W, int K, int R, int S, int pad_h, int pad_w, int stride_h, int stride_w, int P, int Q, double intermediateMemoryBudget)`
This method computes the backpropogation errors for filter of convolution operation
`static void`
LibMatrixCuDNN.`conv2dBiasAdd(GPUContext gCtx, String instName, MatrixObject image, MatrixObject bias, MatrixObject filter, MatrixObject output, int N, int C, int H, int W, int K, int R, int S, int pad_h, int pad_w, int stride_h, int stride_w, int P, int Q, double intermediateMemoryBudget)`
Does a 2D convolution followed by a bias_add
`static void`
LibMatrixCUDA.`cos(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "cos" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`cosh(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "cosh" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`cumulativeScan(ExecutionContext ec, GPUContext gCtx, String instName, String kernelFunction, MatrixObject in, String outputName)`
Cumulative scan
`static void`
LibMatrixCUDA.`cumulativeSumProduct(ExecutionContext ec, GPUContext gCtx, String instName, String kernelFunction, MatrixObject in, String outputName)`
Cumulative sum-product kernel cascade invokation
`static void`
LibMatrixCUDA.`exp(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "exp" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`floor(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "floor" operation on a matrix on the GPU
`static jcuda.Pointer`
LibMatrixCUDA.`getDensePointer(GPUContext gCtx, MatrixObject input, String instName)`
Convenience method to get jcudaDenseMatrixPtr.
`static jcuda.Pointer`
LibMatrixCuDNN.`getDensePointerForCuDNN(GPUContext gCtx, MatrixObject image, String instName, int numRows, int numCols)`
Convenience method to get jcudaDenseMatrixPtr.
`static long`
LibMatrixCUDA.`getNnz(GPUContext gCtx, String instName, MatrixObject mo, boolean recomputeDenseNNZ)`
Note: if the matrix is in dense format, it explicitly re-computes the number of nonzeros.
`static boolean`
LibMatrixCUDA.`isInSparseFormat(GPUContext gCtx, MatrixObject mo)`
`static void`
LibMatrixCUDA.`log(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "log" operation on a matrix on the GPU
`static MatrixObject`
LibMatrixCuMatMult.`matmult(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject left, MatrixObject right, String outputName, boolean isLeftTransposed, boolean isRightTransposed)`
Matrix multiply on GPU Examines sparsity and shapes and routes call to appropriate method from cuBLAS or cuSparse C = op(A) x op(B) The user is expected to call ec.releaseMatrixOutputForGPUInstruction(outputName);
`static void`
LibMatrixCUDA.`matmultTSMM(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject left, String outputName, boolean isLeftTransposed)`
Performs tsmm, A %*% A' or A' %*% A, on GPU by exploiting cublasDsyrk(...)
`static void`
LibMatrixCUDA.`matrixMatrixArithmetic(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, MatrixObject in2, String outputName, boolean isLeftTransposed, boolean isRightTransposed, BinaryOperator op)`
Performs elementwise arithmetic operation specified by op of two input matrices in1 and in2
`static void`
LibMatrixCUDA.`matrixMatrixRelational(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, MatrixObject in2, String outputName, BinaryOperator op)`
Performs elementwise operation relational specified by op of two input matrices in1 and in2
`static void`
LibMatrixCUDA.`matrixScalarArithmetic(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName, boolean isInputTransposed, ScalarOperator op)`
Entry point to perform elementwise matrix-scalar arithmetic operation specified by op
`static void`
LibMatrixCUDA.`matrixScalarOp(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName, boolean isInputTransposed, ScalarOperator op)`
Utility to do matrix-scalar operation kernel
`static void`
LibMatrixCUDA.`matrixScalarRelational(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName, ScalarOperator op)`
Entry point to perform elementwise matrix-scalar relational operation specified by op
`static void`
LibMatrixCuDNN.`pooling(GPUContext gCtx, String instName, MatrixObject image, MatrixObject outputBlock, int N, int C, int H, int W, int K, int R, int S, int pad_h, int pad_w, int stride_h, int stride_w, int P, int Q, LibMatrixDNN.PoolingType poolingType, double intermediateMemoryBudget)`
performs maxpooling on GPU by exploiting cudnnPoolingForward(...)
`static void`
LibMatrixCuDNN.`poolingBackward(GPUContext gCtx, String instName, MatrixObject image, MatrixObject dout, MatrixObject maxpoolOutput, MatrixObject outputBlock, int N, int C, int H, int W, int K, int R, int S, int pad_h, int pad_w, int stride_h, int stride_w, int P, int Q, LibMatrixDNN.PoolingType poolingType, double intermediateMemoryBudget)`
Performs maxpoolingBackward on GPU by exploiting cudnnPoolingBackward(...) This method computes the backpropogation errors for previous layer of maxpooling operation
`static void`
LibMatrixCUDA.`rbind(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, MatrixObject in2, String outputName)`
`static void`
LibMatrixCuDNN.`relu(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName)`
Performs the relu operation on the GPU.
`static void`
LibMatrixCUDA.`reluBackward(GPUContext gCtx, String instName, MatrixObject input, MatrixObject dout, MatrixObject outputBlock)`
This method computes the backpropagation errors for previous layer of relu operation
`static void`
LibMatrixCUDA.`round(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "round" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`sigmoid(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "sigmoid" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`sign(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "sign" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`sin(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "sin" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`sinh(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "sinh" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`sliceOperations(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, IndexRange ixrange, String outputName)`
Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
`static void`
LibMatrixCuDNN.`softmax(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "softmax" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`solve(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, MatrixObject in2, String outputName)`
Implements the "solve" function for systemds Ax = B (A is of size m*n, B is of size m*1, x is of size n*1)
`static void`
LibMatrixCUDA.`sqrt(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "sqrt" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`tan(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "tan" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`tanh(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)`
Performs an "tanh" operation on a matrix on the GPU
`static void`
LibMatrixCUDA.`transpose(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName)`
Transposes the input matrix using cublasDgeam
`static void`
LibMatrixCUDA.`unaryAggregate(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String output, AggregateUnaryOperator op)`
Entry point to perform Unary aggregate operations on the GPU.
Constructors in org.apache.sysds.runtime.matrix.data with parameters of type MatrixObject
Modifier
Constructor
Description
``
`LibMatrixCuDNNInputRowFetcher(GPUContext gCtx, String instName, MatrixObject image)`
Initialize the input fetcher

## Uses of MatrixObject in org.apache.sysds.runtime.util

Methods in org.apache.sysds.runtime.util with parameters of type MatrixObject
Modifier and Type
Method
Description
`static ListObject`
AutoDiff.`getBackward(MatrixObject mo, ArrayList<Data> lineage, ExecutionContext adec)`
`static List<Data>`
AutoDiff.`parseNComputeAutoDiffFromLineage(MatrixObject mo, String mainTrace, ArrayList<String> names, ExecutionContext ec)`