## Uses of Class
org.apache.sysds.runtime.controlprogram.context.ExecutionContext

Packages that use ExecutionContext
org.apache.sysds.api
org.apache.sysds.api.mlcontext
org.apache.sysds.hops.cost
org.apache.sysds.hops.recompile
org.apache.sysds.runtime.codegen
org.apache.sysds.runtime.controlprogram
org.apache.sysds.runtime.controlprogram.context
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.controlprogram.paramserv
org.apache.sysds.runtime.controlprogram.parfor
org.apache.sysds.runtime.controlprogram.parfor.opt
org.apache.sysds.runtime.instructions
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
org.apache.sysds.runtime.lineage
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.privacy.propagation
org.apache.sysds.runtime.util

### Uses of ExecutionContext in org.apache.sysds.api

Methods in org.apache.sysds.api with parameters of type ExecutionContext
`static void` ScriptExecutorUtils.`executeRuntimeProgram(Program rtprog, ExecutionContext ec, DMLConfig dmlconf, int statisticsMaxHeavyHitters, Set<String> outputVariables)` Execute the runtime program.

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

Methods in org.apache.sysds.api.mlcontext that return ExecutionContext
`ExecutionContext` ScriptExecutor.`getExecutionContext()` Obtain the execution context

### Uses of ExecutionContext in org.apache.sysds.hops.cost

Methods in org.apache.sysds.hops.cost with parameters of type ExecutionContext
`static double` CostEstimationWrapper.`getTimeEstimate(ProgramBlock pb, ExecutionContext ec, boolean recursive)`
`static double` CostEstimationWrapper.`getTimeEstimate(Program rtprog, ExecutionContext ec)`

### Uses of ExecutionContext in org.apache.sysds.hops.recompile

Methods in org.apache.sysds.hops.recompile with parameters of type ExecutionContext
`static boolean` Recompiler.`checkCPReblock(ExecutionContext ec, String varin)` CP Reblock check for spark instructions; in contrast to MR, we can not rely on the input file sizes because inputs might be passed via rdds.
`static void` Recompiler.`executeInMemoryReblock(ExecutionContext ec, String varin, String varout)`
`static ArrayList<Instruction>` Recompiler.`recompileHopsDag(StatementBlock sb, ArrayList<Hop> hops, ExecutionContext ec, RecompileStatus status, boolean inplace, boolean replaceLit, long tid)`
`static void` Recompiler.`rReplaceLiterals(Hop hop, ExecutionContext ec, boolean scalarsOnly)` public interface to package local literal replacement

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

Methods in org.apache.sysds.runtime.codegen with parameters of type ExecutionContext
`abstract int` SpoofCUDAOperator.PrecisionProxy.`exec(ExecutionContext ec, SpoofCUDAOperator op, int opID, long[] in, long[] sides, long[] out, ArrayList<ScalarObject> scalarObjects, long grix)`
`ScalarObject` SpoofCUDARowwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)`
`ScalarObject` SpoofCUDACellwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)`
`ScalarObject` SpoofCUDAOperator.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)`
`MatrixObject` SpoofCUDARowwise.`execute(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects, String outputName)`
`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)`
`default long[]` SpoofCUDAOperator.`prepareInputPointers(ExecutionContext ec, ArrayList<MatrixObject> inputs, int offset)`
`default long[]` SpoofCUDAOperator.`prepareOutputPointers(ExecutionContext ec, MatrixObject output, boolean sparseOut)`
`default long[]` SpoofCUDAOperator.`prepareSideInputPointers(ExecutionContext ec, ArrayList<MatrixObject> inputs, int offset, boolean tB1)`
`void` SpoofCUDARowwise.`releaseScalarGPUMemory(ExecutionContext ec)`
`void` SpoofCUDACellwise.`releaseScalarGPUMemory(ExecutionContext ec)`
`void` SpoofCUDAOperator.`releaseScalarGPUMemory(ExecutionContext ec)`

### Uses of ExecutionContext in org.apache.sysds.runtime.controlprogram

Methods in org.apache.sysds.runtime.controlprogram with parameters of type ExecutionContext
`void` ParForProgramBlock.`execute(ExecutionContext ec)`
`void` ForProgramBlock.`execute(ExecutionContext ec)`
`void` IfProgramBlock.`execute(ExecutionContext ec)`
`void` WhileProgramBlock.`execute(ExecutionContext ec)`
`abstract void` ProgramBlock.`execute(ExecutionContext ec)` Executes this program block (incl recompilation if required).
`void` FunctionProgramBlock.`execute(ExecutionContext ec)`
`void` BasicProgramBlock.`execute(ExecutionContext ec)`
`void` Program.`execute(ExecutionContext ec)`
`ScalarObject` ProgramBlock.`executePredicate(ArrayList<Instruction> inst, Hop hops, boolean requiresRecompile, Types.ValueType retType, ExecutionContext ec)` Executes given predicate instructions (incl recompilation if required)

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

Subclasses of ExecutionContext in org.apache.sysds.runtime.controlprogram.context
`class` `SparkExecutionContext`

Methods in org.apache.sysds.runtime.controlprogram.context that return ExecutionContext
`static ExecutionContext` ExecutionContextFactory.`createContext()`
`static ExecutionContext` ExecutionContextFactory.`createContext(boolean allocateVars, boolean allocateLineage, Program prog)`
`static ExecutionContext` ExecutionContextFactory.`createContext(boolean allocateVars, Program prog)`
`static ExecutionContext` ExecutionContextFactory.`createContext(LocalVariableMap vars, Program prog)`
`static ExecutionContext` ExecutionContextFactory.`createContext(Program prog)`

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

Methods in org.apache.sysds.runtime.controlprogram.federated that return ExecutionContext
`ExecutionContext` ExecutionContextMap.`get(long tid)`

Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type ExecutionContext
`abstract FederatedResponse` FederatedUDF.`execute(ExecutionContext ec, Data... data)` Execute the user-defined function on a set of data objects (e.g., matrix objects, frame objects, or scalars), which are looked up by specified input IDs and passed in the same order.

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

Methods in org.apache.sysds.runtime.controlprogram.paramserv that return ExecutionContext
`static ExecutionContext` ParamservUtils.`createExecutionContext(ExecutionContext ec, LocalVariableMap varsMap, String updFunc, String aggFunc, int k)`
`static ExecutionContext` ParamservUtils.`createExecutionContext(ExecutionContext ec, LocalVariableMap varsMap, String updFunc, String aggFunc, int k, boolean forceExecTypeCP)`
`ExecutionContext` SparkPSBody.`getEc()`

Methods in org.apache.sysds.runtime.controlprogram.paramserv that return types with arguments of type ExecutionContext
`static List<ExecutionContext>` ParamservUtils.`copyExecutionContext(ExecutionContext ec, int num)`

Methods in org.apache.sysds.runtime.controlprogram.paramserv with parameters of type ExecutionContext
`static void` ParamservUtils.`cleanupData(ExecutionContext ec, Data data)`
`static void` ParamservUtils.`cleanupData(ExecutionContext ec, String varName)`
`static void` ParamservUtils.`cleanupListObject(ExecutionContext ec, ListObject lo)`
`static void` ParamservUtils.`cleanupListObject(ExecutionContext ec, ListObject lo, boolean[] status)`
`static void` ParamservUtils.`cleanupListObject(ExecutionContext ec, String lName)` Clean up the list object according to its own data status
`static void` ParamservUtils.`cleanupListObject(ExecutionContext ec, String lName, boolean[] status)` Clean up the list object according to the given array of data status (i.e., false => not be removed)
`static List<ExecutionContext>` ParamservUtils.`copyExecutionContext(ExecutionContext ec, int num)`
`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)`
`static ExecutionContext` ParamservUtils.`createExecutionContext(ExecutionContext ec, LocalVariableMap varsMap, String updFunc, String aggFunc, int k)`
`static ExecutionContext` ParamservUtils.`createExecutionContext(ExecutionContext ec, LocalVariableMap varsMap, String updFunc, String aggFunc, int k, boolean forceExecTypeCP)`
`void` SparkPSBody.`setEc(ExecutionContext ec)`

Constructors in org.apache.sysds.runtime.controlprogram.paramserv with parameters of type ExecutionContext
Constructor and Description
`FederatedPSControlThread(int workerID, String updFunc, Statement.PSFrequency freq, Statement.PSRuntimeBalancing runtimeBalancing, boolean weighting, int epochs, long batchSize, int numBatchesPerGlobalEpoch, ExecutionContext ec, ParamServer ps)`
`LocalPSWorker(int workerID, String updFunc, Statement.PSFrequency freq, int epochs, long batchSize, ExecutionContext ec, ParamServer ps)`
`SparkPSBody(ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.controlprogram.parfor that return ExecutionContext
`ExecutionContext` ParForBody.`getEc()`
`ExecutionContext` ParWorker.`getExecutionContext()`

Methods in org.apache.sysds.runtime.controlprogram.parfor with parameters of type ExecutionContext
`static RemoteParForJobReturn` RemoteParForSpark.`runJob(long pfid, String prog, HashMap<String,byte[]> clsMap, List<Task> tasks, ExecutionContext ec, Set<String> brVars, List<ParForStatementBlock.ResultVar> resultVars, boolean cpCaching, int numMappers, boolean topLevelPF)`
`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)`
`void` ParForBody.`setEc(ExecutionContext ec)`

Constructors in org.apache.sysds.runtime.controlprogram.parfor with parameters of type ExecutionContext
Constructor and Description
`DataPartitionerRemoteSpark(ParForProgramBlock.PartitionFormat dpf, ExecutionContext ec, long numRed, int replication, boolean keepIndexes)`
`ParForBody(ArrayList<ProgramBlock> childBlocks, ArrayList<ParForStatementBlock.ResultVar> resultVars, ExecutionContext ec)`
`ResultMergeRemoteSpark(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum, ExecutionContext ec, int numMappers, int numReducers)`

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

Methods in org.apache.sysds.runtime.controlprogram.parfor.opt with parameters of type ExecutionContext
`static OptTree` OptTreeConverter.`createAbstractOptTree(int ck, double cm, ParForStatementBlock pfsb, ParForProgramBlock pfpb, Set<String> memo, ExecutionContext ec)`
`static OptTree` OptTreeConverter.`createOptTree(int ck, double cm, Optimizer.PlanInputType type, ParForStatementBlock pfsb, ParForProgramBlock pfpb, ExecutionContext ec)`
`static void` OptimizationWrapper.`optimize(ParForProgramBlock.POptMode type, ParForStatementBlock sb, ParForProgramBlock pb, ExecutionContext ec, boolean monitor)` Called once per top-level parfor (during runtime, on parfor execute) in order to optimize the specific parfor program block.
`boolean` OptimizerRuleBased.`optimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, ExecutionContext ec)` Main optimization procedure.
`abstract boolean` Optimizer.`optimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, ExecutionContext ec)` Optimize
`boolean` OptimizerConstrained.`optimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, ExecutionContext ec)` Main optimization procedure.
`static void` ProgramRecompiler.`rFindAndRecompileIndexingHOP(StatementBlock sb, ProgramBlock pb, String var, ExecutionContext ec, boolean force)` NOTE: if force is set, we set and recompile the respective indexing hops; otherwise, we release the forced exec type and recompile again.

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

Methods in org.apache.sysds.runtime.instructions with parameters of type ExecutionContext
`void` Instruction.`postprocessInstruction(ExecutionContext ec)` This method should be used for any tear down after executing this instruction.
`Instruction` Instruction.`preprocessInstruction(ExecutionContext ec)` This method should be used for any setup before executing this instruction.
`abstract void` Instruction.`processInstruction(ExecutionContext ec)` This method should be used to execute the instruction.

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

Methods in org.apache.sysds.runtime.instructions.cp with parameters of type ExecutionContext
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MatrixBuiltinNaryCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ListIndexingCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ReshapeCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` SpoofCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ScalarBuiltinNaryCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ParameterizedBuiltinCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` CtableCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` FrameIndexingCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` DataGenCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` VariableCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ComputationCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MatrixAppendCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MatrixIndexingCPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair[]` MultiReturnParameterizedBuiltinCPInstruction.`getLineageItems(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair[]` MultiReturnBuiltinCPInstruction.`getLineageItems(ExecutionContext ec)`
`CacheableData<?>` ParameterizedBuiltinCPInstruction.`getTarget(ExecutionContext ec)`
`boolean` SpoofCPInstruction.`isFederated(ExecutionContext ec)`
`boolean` SpoofCPInstruction.`isFederated(ExecutionContext ec, FederationMap.FType type)`
`void` CPInstruction.`postprocessInstruction(ExecutionContext ec)`
`void` FunctionCallCPInstruction.`postprocessInstruction(ExecutionContext ec)`
`Instruction` CPInstruction.`preprocessInstruction(ExecutionContext ec)`
`Instruction` FunctionCallCPInstruction.`preprocessInstruction(ExecutionContext ec)`
`void` DnnCPInstruction.`processBatchNorm2dBackwardInstruction(ExecutionContext ec)`
`void` DnnCPInstruction.`processBatchNorm2dInstruction(ExecutionContext ec)`
`void` DnnCPInstruction.`processBiasAddInstruction(ExecutionContext ec)`
`void` DnnCPInstruction.`processBiasMultiplyInstruction(ExecutionContext ec)`
`void` MultiReturnParameterizedBuiltinCPInstruction.`processInstruction(ExecutionContext ec)`
`abstract void` CPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixBuiltinNaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` SqlCPInstruction.`processInstruction(ExecutionContext ec)`
`void` QuantilePickCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ReorgCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ListIndexingCPInstruction.`processInstruction(ExecutionContext ec)`
`void` UnaryFrameCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ReshapeCPInstruction.`processInstruction(ExecutionContext ec)`
`void` UnaryMatrixCPInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateTernaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixMatrixCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryScalarScalarCPInstruction.`processInstruction(ExecutionContext ec)`
`void` QuantileSortCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixScalarCPInstruction.`processInstruction(ExecutionContext ec)`
`void` PMMJCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameFrameCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ScalarAppendCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameMatrixCPInstruction.`processInstruction(ExecutionContext ec)`
`void` QuaternaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` SpoofCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ScalarBuiltinNaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateUnaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateBinaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ParameterizedBuiltinCPInstruction.`processInstruction(ExecutionContext ec)`
`void` MMTSJCPInstruction.`processInstruction(ExecutionContext ec)`
`void` TernaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` UaggOuterChainCPInstruction.`processInstruction(ExecutionContext ec)`
`void` FrameAppendCPInstruction.`processInstruction(ExecutionContext ec)`
`void` CtableCPInstruction.`processInstruction(ExecutionContext ec)`
`void` EvalNaryCPInstruction.`processInstruction(ExecutionContext ec)`
`void` MultiReturnBuiltinCPInstruction.`processInstruction(ExecutionContext ec)`
`void` CompressionCPInstruction.`processInstruction(ExecutionContext ec)`
`void` FrameIndexingCPInstruction.`processInstruction(ExecutionContext ec)`
`void` FunctionCallCPInstruction.`processInstruction(ExecutionContext ec)`
`void` UnaryScalarCPInstruction.`processInstruction(ExecutionContext ec)`
`void` CentralMomentCPInstruction.`processInstruction(ExecutionContext ec)`
`void` DataGenCPInstruction.`processInstruction(ExecutionContext ec)`
`void` CovarianceCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameScalarCPInstruction.`processInstruction(ExecutionContext ec)`
`void` DnnCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ListAppendRemoveCPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryTensorTensorCPInstruction.`processInstruction(ExecutionContext ec)`
`void` VariableCPInstruction.`processInstruction(ExecutionContext ec)`
`void` MMChainCPInstruction.`processInstruction(ExecutionContext ec)`
`void` StringInitCPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixAppendCPInstruction.`processInstruction(ExecutionContext ec)`
`void` ParamservBuiltinCPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixIndexingCPInstruction.`processInstruction(ExecutionContext ec)`
`void` DeCompressionCPInstruction.`processInstruction(ExecutionContext ec)`
`void` DnnCPInstruction.`processReluBackwardInstruction(ExecutionContext ec)`
`static void` VariableCPInstruction.`processRmvarInstruction(ExecutionContext ec, String varname)` Remove variable instruction externalized as a static function in order to allow various cleanup procedures to use the same codepath as the actual rmVar instruction

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

Methods in org.apache.sysds.runtime.instructions.cpfile with parameters of type ExecutionContext
`void` MatrixIndexingCPFileInstruction.`processInstruction(ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.instructions.fed with parameters of type ExecutionContext
`static Instruction` FEDInstructionUtils.`checkAndReplaceCP(Instruction inst, ExecutionContext ec)` Check and replace CP instructions with federated instructions if the instruction match criteria.
`static Instruction` FEDInstructionUtils.`checkAndReplaceSP(Instruction inst, ExecutionContext ec)`
`FederatedResponse` MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.`execute(ExecutionContext ec, Data... data)`
`FederatedResponse` MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.`execute(ExecutionContext ec, Data... data)`
`FederatedResponse` ReorgFEDInstruction.Rdiag.`execute(ExecutionContext ec, Data... data)`
`FederatedResponse` ReorgFEDInstruction.DiagMatrix.`execute(ExecutionContext ec, Data... data)`
`FederatedResponse` ParameterizedBuiltinFEDInstruction.DecodeMatrix.`execute(ExecutionContext ec, Data... data)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ReshapeFEDInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` InitFEDInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ReorgFEDInstruction.Rdiag.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ReorgFEDInstruction.DiagMatrix.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ComputationFEDInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` VariableFEDInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ParameterizedBuiltinFEDInstruction.DecodeMatrix.`getLineageItem(ExecutionContext ec)`
`CacheableData<?>` ParameterizedBuiltinFEDInstruction.`getTarget(ExecutionContext ec)`
`Instruction` FEDInstruction.`preprocessInstruction(ExecutionContext ec)`
`void` UnaryMatrixFEDInstruction.`processCumulativeInstruction(ExecutionContext ec, MatrixObject mo1)`
`void` QuaternaryWSLossFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixMatrixFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateTernaryFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` ReshapeFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` CtableFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` UnaryMatrixFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` InitFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` QuaternaryWSigmoidFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` QuaternaryWUMMFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateUnaryFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` QuantilePickFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateBinaryFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` MultiReturnParameterizedBuiltinFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameScalarFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` SpoofFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` ReorgFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` QuaternaryWDivMMFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` MMChainFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` TernaryFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` QuantileSortFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` AppendFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` CovarianceFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` VariableFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` QuaternaryWCeMMFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` TsmmFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` IndexingFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixScalarFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` ParameterizedBuiltinFEDInstruction.`processInstruction(ExecutionContext ec)`
`void` CentralMomentFEDInstruction.`processInstruction(ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.instructions.gpu with parameters of type ExecutionContext
`int` SpoofCUDAInstruction.SinglePrecision.`exec(ExecutionContext ec, SpoofCUDAOperator op, int opID, long[] in, long[] sides, long[] out, ArrayList<ScalarObject> scalarObjects, long grix)`
`int` SpoofCUDAInstruction.DoublePrecision.`exec(ExecutionContext ec, SpoofCUDAOperator op, int opID, long[] in, long[] sides, long[] out, ArrayList<ScalarObject> scalarObjects, long grix)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MatrixReshapeGPUInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MatrixIndexingGPUInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` GPUInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` SpoofCUDAInstruction.`getLineageItem(ExecutionContext ec)`
`void` GPUInstruction.`postprocessInstruction(ExecutionContext ec)`
`Instruction` GPUInstruction.`preprocessInstruction(ExecutionContext ec)`
`void` DnnGPUInstruction.`processBatchNorm2dBackwardInstruction(ExecutionContext ec)`
`void` MMTSJGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixMatrixAxpyGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixMatrixArithmeticGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` ScalarMatrixBuiltinGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` DnnGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixMatrixRelationalBinaryGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixMatrixBuiltinGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` ScalarMatrixArithmeticGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixBuiltinGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixReshapeGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixIndexingGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` ScalarMatrixRelationalBinaryGPUInstruction.`processInstruction(ExecutionContext ec)`
`abstract void` GPUInstruction.`processInstruction(ExecutionContext ec)`
`void` SpoofCUDAInstruction.`processInstruction(ExecutionContext ec)`
`void` ReorgGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateBinaryGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixAppendGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateUnaryGPUInstruction.`processInstruction(ExecutionContext ec)`
`void` DnnGPUInstruction.`processReLUBackwardInstruction(ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.instructions.spark with parameters of type ExecutionContext
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` ComputationSPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` BuiltinNarySPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` MatrixIndexingSPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` RandSPInstruction.`getLineageItem(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` WriteSPInstruction.`getLineageItem(ExecutionContext ec)`
`boolean` SpoofSPInstruction.`isFederated(ExecutionContext ec)`
`boolean` SpoofSPInstruction.`isFederated(ExecutionContext ec, FederationMap.FType type)`
`void` SPInstruction.`postprocessInstruction(ExecutionContext ec)`
`Instruction` SPInstruction.`preprocessInstruction(ExecutionContext ec)`
`void` CovarianceSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameScalarSPInstruction.`processInstruction(ExecutionContext ec)`
`void` QuantileSortSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixBVectorSPInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateUnarySPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryTensorTensorBroadcastSPInstruction.`processInstruction(ExecutionContext ec)`
`void` Tsmm2SPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixAppendMSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CumulativeOffsetSPInstruction.`processInstruction(ExecutionContext ec)`
`void` UnaryFrameSPInstruction.`processInstruction(ExecutionContext ec)`
`void` ParameterizedBuiltinSPInstruction.`processInstruction(ExecutionContext ec)`
`void` SpoofSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixScalarSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CSVReblockSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CastSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BuiltinNarySPInstruction.`processInstruction(ExecutionContext ec)`
`void` CtableSPInstruction.`processInstruction(ExecutionContext ec)`
`void` MultiReturnParameterizedBuiltinSPInstruction.`processInstruction(ExecutionContext ec)`
`void` ZipmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` LIBSVMReblockSPInstruction.`processInstruction(ExecutionContext ec)`
`void` UnaryMatrixSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryTensorTensorSPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixAppendRSPInstruction.`processInstruction(ExecutionContext ec)`
`abstract void` SPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryMatrixMatrixSPInstruction.`processInstruction(ExecutionContext ec)`
`void` FrameAppendRSPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixIndexingSPInstruction.`processInstruction(ExecutionContext ec)`
`void` ReblockSPInstruction.`processInstruction(ExecutionContext ec)`
`void` PMapmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinUaggChainSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CpmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` RandSPInstruction.`processInstruction(ExecutionContext ec)`
`void` MatrixReshapeSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CumulativeAggregateSPInstruction.`processInstruction(ExecutionContext ec)`
`void` DnnSPInstruction.`processInstruction(ExecutionContext ec)`
`void` TsmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` QuaternarySPInstruction.`processInstruction(ExecutionContext ec)`
`void` AppendGAlignedSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CheckpointSPInstruction.`processInstruction(ExecutionContext ec)`
`void` WriteSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameMatrixSPInstruction.`processInstruction(ExecutionContext ec)`
`void` ReorgSPInstruction.`processInstruction(ExecutionContext ec)`
`void` FrameIndexingSPInstruction.`processInstruction(ExecutionContext ec)`
`void` AppendGSPInstruction.`processInstruction(ExecutionContext ec)`
`void` AggregateTernarySPInstruction.`processInstruction(ExecutionContext ec)`
`void` FrameAppendMSPInstruction.`processInstruction(ExecutionContext ec)`
`void` QuantilePickSPInstruction.`processInstruction(ExecutionContext ec)`
`void` DeCompressionSPInstruction.`processInstruction(ExecutionContext ec)`
`void` BinaryFrameFrameSPInstruction.`processInstruction(ExecutionContext ec)`
`void` UaggOuterChainSPInstruction.`processInstruction(ExecutionContext ec)`
`void` PmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CompressionSPInstruction.`processInstruction(ExecutionContext ec)`
`void` MapmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` MapmmChainSPInstruction.`processInstruction(ExecutionContext ec)`
`void` RmmSPInstruction.`processInstruction(ExecutionContext ec)`
`void` CentralMomentSPInstruction.`processInstruction(ExecutionContext ec)`
`void` TernarySPInstruction.`processInstruction(ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.lineage with parameters of type ExecutionContext
`static void` LineageItemUtils.`addAllDataLineage(ExecutionContext ec)`
`static LineageDedupBlock` LineageDedupUtils.`computeDedupBlock(ProgramBlock fpb, ExecutionContext ec)`
`static long` LineageDedupUtils.`computeNumPaths(ProgramBlock fpb, ExecutionContext ec)`
`void` Lineage.`createDedupPatch(ProgramBlock pb, ExecutionContext ec)`
`static boolean` LineageRewriteReuse.`executeRewrites(Instruction curr, ExecutionContext ec)`
`static LineageItem[]` LineageItemUtils.`getLineage(ExecutionContext ec, CPOperand... operands)`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` LineageTraceable.`getLineageItem(ExecutionContext ec)` Obtain lineage trace of an instruction with a single output.
`static LineageItem[]` LineageItemUtils.`getLineageItemInputstoSB(ArrayList<String> inputs, ExecutionContext ec)`
`default org.apache.commons.lang3.tuple.Pair<String,LineageItem>[]` LineageTraceable.`getLineageItems(ExecutionContext ec)` Obtain lineage trace of an instruction with multiple outputs.
`void` Lineage.`initializeDedupBlock(ProgramBlock pb, ExecutionContext ec)`
`static LineageDedupBlock` LineageDedupUtils.`initializeDedupBlock(ProgramBlock fpb, ExecutionContext ec)`
`static boolean` LineageCacheConfig.`isReusable(Instruction inst, ExecutionContext ec)`
`static void` LineageDebugger.`maintainSpecialValueBits(Lineage lineage, Instruction inst, ExecutionContext ec)`
`static String` LineageDedupUtils.`mergeExplainDedupBlocks(ExecutionContext ec)`
`static long` LineageDedupUtils.`numPathsInPBs(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`
`static void` LineageEstimator.`processFunc(List<DataIdentifier> outputs, LineageItem[] liInputs, String name, ExecutionContext ec, long computetime)`
`static void` LineageEstimator.`processSingleInst(Instruction inst, ExecutionContext ec, long starttime)`
`static void` LineageCache.`putMatrix(Instruction inst, ExecutionContext ec, long computetime)`
`static void` LineageCache.`putValue(FederatedUDF udf, ExecutionContext ec, long computetime)`
`static void` LineageCache.`putValue(Instruction inst, ExecutionContext ec, long starttime)`
`static void` LineageCache.`putValue(List<DataIdentifier> outputs, LineageItem[] liInputs, String name, ExecutionContext ec, long computetime)`
`static void` LineageItemUtils.`replaceDagLeaves(ExecutionContext ec, LineageItem root, CPOperand[] newLeaves)`
`static void` LineageDedupUtils.`replaceLineage(ExecutionContext ec)`
`static FederatedResponse` LineageCache.`reuse(FederatedUDF udf, ExecutionContext ec)`
`static boolean` LineageCache.`reuse(Instruction inst, ExecutionContext ec)`
`static boolean` LineageCache.`reuse(List<String> outNames, List<DataIdentifier> outParams, int numOutputs, LineageItem[] liInputs, String name, ExecutionContext ec)`
`static void` LineageDedupUtils.`setNewDedupPatch(LineageDedupBlock ldb, ProgramBlock fpb, ExecutionContext ec)`
`void` LineageDedupBlock.`setNumPathsInPBs(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`
`void` LineageMap.`trace(Instruction inst, ExecutionContext ec)`
`void` Lineage.`trace(Instruction inst, ExecutionContext ec)`
`void` LineageDedupBlock.`traceBasicProgramBlock(BasicProgramBlock bpb, ExecutionContext ec, Collection<Map.Entry<Long,LineageMap>> paths)`
`void` Lineage.`traceCurrentDedupPath(ProgramBlock pb, ExecutionContext ec)`
`static void` LineageItemUtils.`traceFedUDF(ExecutionContext ec, FederatedUDF udf)`
`void` LineageDedupBlock.`traceIfProgramBlock(IfProgramBlock ipb, ExecutionContext ec, Collection<Map.Entry<Long,LineageMap>> paths)`
`void` LineageDedupBlock.`traceProgramBlock(ProgramBlock pb, ExecutionContext ec, Collection<Map.Entry<Long,LineageMap>> paths)`
`void` LineageDedupBlock.`traceProgramBlocks(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.matrix.data with parameters of type ExecutionContext
`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` 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.`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.`denseTranspose(ExecutionContext ec, GPUContext gCtx, String instName, jcuda.Pointer A, jcuda.Pointer C, long numRowsA, long numColsA)` Computes C = t(A)
`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 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 void` LibMatrixCUDA.`log(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String outputName)` Performs an "log" operation on a matrix on the GPU
`static void` LibMatrixCuDNN.`lstm(ExecutionContext ec, GPUContext gCtx, String instName, jcuda.Pointer X, jcuda.Pointer wPointer, jcuda.Pointer out0, jcuda.Pointer c0, boolean return_sequences, String outputName, String cyName, int N, int M, int D, int T)` Computes the forward pass for an LSTM layer with M neurons.
`static void` LibMatrixCuDNN.`lstmBackward(ExecutionContext ec, GPUContext gCtx, String instName, jcuda.Pointer x, jcuda.Pointer hx, jcuda.Pointer cx, jcuda.Pointer wPointer, String doutName, String dcyName, String dxName, String dwName, String dbName, String dhxName, String dcxName, boolean return_sequences, int N, int M, int D, int T)`

`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` 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.`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 ExecutionContext
Constructor and Description
`LibMatrixCuDNNRnnAlgorithm(ExecutionContext ec, GPUContext gCtx, String instName, String rnnMode, int N, int T, int M, int D, boolean isTraining, jcuda.Pointer w)`

### Uses of ExecutionContext in org.apache.sysds.runtime.privacy.propagation

Methods in org.apache.sysds.runtime.privacy.propagation with parameters of type ExecutionContext
`static void` PrivacyPropagator.`postProcessInstruction(Instruction inst, ExecutionContext ec)` Propagate privacy constraints to output variables based on privacy constraint of CPOperand output in instruction which has been set during privacy propagation preprocessing.
`static Instruction` PrivacyPropagator.`preprocessAppendCPInstruction(AppendCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessBinaryCPInstruction(BinaryCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessBuiltinNary(BuiltinNaryCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessCPInstructionFineGrained(CPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessExternal(FunctionCallCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessInstruction(Instruction inst, ExecutionContext ec)` Propagate privacy constraints from input to output CPOperands in case the privacy constraints of the input are activated.
`static Instruction` PrivacyPropagator.`preprocessInstructionSimple(Instruction inst, ExecutionContext ec)` Throw exception if privacy constraints are activated or return instruction if privacy is not activated
`static Instruction` PrivacyPropagator.`preprocessMultiReturn(ComputationCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessParameterizedBuiltin(ParameterizedBuiltinCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessQuaternary(QuaternaryCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessTernaryCPInstruction(ComputationCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessUnaryCPInstruction(UnaryCPInstruction inst, ExecutionContext ec)`
`static Instruction` PrivacyPropagator.`preprocessVariableCPInstruction(VariableCPInstruction inst, ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.util that return ExecutionContext
`static ExecutionContext` ProgramConverter.`createDeepCopyExecutionContext(ExecutionContext ec)` Creates a deep copy of the given execution context.

Methods in org.apache.sysds.runtime.util with parameters of type ExecutionContext
`static ExecutionContext` ProgramConverter.`createDeepCopyExecutionContext(ExecutionContext ec)` Creates a deep copy of the given execution context.
`static int[]` DataConverter.`getTensorDimensions(ExecutionContext ec, CPOperand dims)`