## 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.compress
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.instructions.spark.utils
org.apache.sysds.runtime.lineage
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.util
org.apache.sysds.utils

### 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 void` Recompiler.`executeInMemoryReblock​(ExecutionContext ec, String varin, String varout, LineageItem litem)`
`static ArrayList<Instruction>` Recompiler.`recompile​(StatementBlock sb, ArrayList<Hop> hops, ExecutionContext ec, RecompileStatus status, boolean inplace, boolean replaceLit, boolean updateStats, boolean forceEt, boolean pred, Types.ExecType et, long tid)` Core internal primitive for the dynamic recompilation of any DAGs/predicate, including all variants with slightly different configurations.
`static void` Recompiler.`recompileFunctionOnceIfNeeded​(boolean recompileOnce, List<ProgramBlock> childBlocks, long tid, boolean inplace, Recompiler.ResetType reset, ExecutionContext ec)`
`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
`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)`
`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)`

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

Methods in org.apache.sysds.runtime.compress with parameters of type ExecutionContext
`static Future<Void>` CompressedMatrixBlockFactory.`compressAsync​(ExecutionContext ec, String varName)`
`static Future<Void>` CompressedMatrixBlockFactory.`compressAsync​(ExecutionContext ec, String varName, InstructionTypeCounter ins)`

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

Methods in org.apache.sysds.runtime.controlprogram with parameters of type ExecutionContext
`static ResultMerge<?>` ParForProgramBlock.`createResultMerge​(ParForProgramBlock.PResultMerge prm, CacheableData<?> out, CacheableData<?>[] in, String fname, boolean accum, int numThreads, ExecutionContext ec)`
`void` BasicProgramBlock.`execute​(ExecutionContext ec)`
`void` ForProgramBlock.`execute​(ExecutionContext ec)`
`void` FunctionProgramBlock.`execute​(ExecutionContext ec)`
`void` IfProgramBlock.`execute​(ExecutionContext ec)`
`void` ParForProgramBlock.`execute​(ExecutionContext ec)`
`void` Program.`execute​(ExecutionContext ec)`
`abstract void` ProgramBlock.`execute​(ExecutionContext ec)` Executes this program block (incl recompilation if required).
`void` WhileProgramBlock.`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, boolean allocateLineage, Program prog, Types.ExecMode mode)`
`static ExecutionContext` ExecutionContextFactory.`createContext​(boolean allocateVars, Program prog)`
`static ExecutionContext` ExecutionContextFactory.`createContext​(Types.ExecMode mode)`
`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
`void` FederatedWorkloadAnalyzer.`compressRun​(ExecutionContext ec, long tid)`
`FederatedResponse` FederatedStatistics.FedStatsCollectFunction.`execute​(ExecutionContext ec, Data... data)`
`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.
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` FederatedStatistics.FedStatsCollectFunction.`getLineageItem​(ExecutionContext ec)`
`void` FederatedWorkloadAnalyzer.`incrementWorkload​(ExecutionContext ec, long tid, Instruction ins)`
`void` FederatedWorkloadAnalyzer.`incrementWorkload​(ExecutionContext ec, ConcurrentHashMap<Long,​InstructionTypeCounter> mm, ComputationCPInstruction cpIns)`

### 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, String varName)`
`static void` ParamservUtils.`cleanupData​(ExecutionContext ec, Data data)`
`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 void` ParamservUtils.`cleanupListObject​(ExecutionContext ec, ListObject lo)`
`static void` ParamservUtils.`cleanupListObject​(ExecutionContext ec, ListObject lo, boolean[] status)`
`static List<ExecutionContext>` ParamservUtils.`copyExecutionContext​(ExecutionContext ec, int num)`
`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 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
`FederatedPSControlThread​(int workerID, String updFunc, Statement.PSFrequency freq, Statement.PSRuntimeBalancing runtimeBalancing, boolean weighting, int epochs, long batchSize, int numBatchesPerGlobalEpoch, ExecutionContext ec, ParamServer ps, int nbatches, boolean modelAvg, boolean use_homomorphic_encryption)`
`LocalPSWorker​(int workerID, String updFunc, Statement.PSFrequency freq, int epochs, long batchSize, ExecutionContext ec, ParamServer ps, int nbatches, boolean modelAvg)`
`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` 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)`
`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)`
`void` ParForBody.`setEc​(ExecutionContext ec)`

Constructors in org.apache.sysds.runtime.controlprogram.parfor with parameters of type ExecutionContext
`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, OptTreePlanMapping hlMap, Set<String> memo, ExecutionContext ec)`
`static OptTree` OptTreeConverter.`createOptTree​(int ck, double cm, ParForStatementBlock pfsb, ParForProgramBlock pfpb, ExecutionContext ec)`
`static void` OptimizationWrapper.`optimize​(ParForProgramBlock.POptMode type, ParForStatementBlock sb, ParForProgramBlock pb, ExecutionContext ec, int numRuns)` Called once per top-level parfor (during runtime, on parfor execute) in order to optimize the specific parfor program block.
`abstract boolean` Optimizer.`optimize​(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, ExecutionContext ec)` Optimize the parfor statement block
`boolean` OptimizerConstrained.`optimize​(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, ExecutionContext ec)` Main optimization procedure.
`boolean` OptimizerRuleBased.`optimize​(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, 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>` ComputationCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` CtableCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` DataGenCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` DnnCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` FrameIndexingCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ListIndexingCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MatrixAppendCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MatrixBuiltinNaryCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MatrixIndexingCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ParameterizedBuiltinCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ReshapeCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ScalarBuiltinNaryCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` SpoofCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` StringInitCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` VariableCPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>[]` MultiReturnBuiltinCPInstruction.`getLineageItems​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>[]` MultiReturnComplexMatrixBuiltinCPInstruction.`getLineageItems​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>[]` MultiReturnParameterizedBuiltinCPInstruction.`getLineageItems​(ExecutionContext ec)`
`CacheableData<?>` ParameterizedBuiltinCPInstruction.`getTarget​(ExecutionContext ec)`
`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` AggregateBinaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateTernaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateUnaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryFrameFrameCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryFrameMatrixCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixMatrixCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixScalarCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryScalarScalarCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryTensorTensorCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BroadcastCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CentralMomentCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CompressionCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CovarianceCPInstruction.`processInstruction​(ExecutionContext ec)`
`abstract void` CPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CtableCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` DataGenCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` DeCompressionCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` DnnCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` EvalNaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` EvictCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` FrameAppendCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` FrameIndexingCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` FunctionCallCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ListAppendRemoveCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ListIndexingCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` LocalCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixAppendCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixBuiltinNaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixIndexingCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MMChainCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MMTSJCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MultiReturnBuiltinCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MultiReturnComplexMatrixBuiltinCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MultiReturnParameterizedBuiltinCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ParameterizedBuiltinCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ParamservBuiltinCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` PMMJCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` PrefetchCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuantilePickCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuantileSortCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReorgCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReshapeCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ScalarAppendCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ScalarBuiltinNaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` SpoofCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` SqlCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` StringInitCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` TernaryCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` TernaryFrameScalarCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UaggOuterChainCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UnaryFrameCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UnaryMatrixCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UnaryScalarCPInstruction.`processInstruction​(ExecutionContext ec)`
`void` VariableCPInstruction.`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

Constructors in org.apache.sysds.runtime.instructions.cp with parameters of type ExecutionContext
`TriggerBroadcastTask​(ExecutionContext ec, MatrixObject mo)`

### 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)`
`org.apache.sysds.runtime.instructions.fed.MultiReturnParameterizedBuiltinFEDInstruction.EncoderColnames` MultiReturnParameterizedBuiltinFEDInstruction.`createGlobalEncoderWithEquiHeight​(ExecutionContext ec, FrameObject fin, String spec)`
`FederatedResponse` MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` ParameterizedBuiltinFEDInstruction.DecodeMatrix.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` QuantilePickFEDInstruction.CreateMatrixFromFrame.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` QuantilePickFEDInstruction.GetHistogram.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` QuantilePickFEDInstruction.GetValuesInRange.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` QuantilePickFEDInstruction.GetValuesInRanges.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` QuantilePickFEDInstruction.MinMax.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` ReorgFEDInstruction.DiagMatrix.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` ReorgFEDInstruction.Rdiag.`execute​(ExecutionContext ec, Data... data)`
`FederatedResponse` ReorgFEDInstruction.SliceMatrix.`execute​(ExecutionContext ec, Data... data)`
`<T> MatrixBlock` QuantilePickFEDInstruction.`getEquiHeightBins​(ExecutionContext ec, int colID, double[] quantiles)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ComputationFEDInstruction.`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>` ParameterizedBuiltinFEDInstruction.DecodeMatrix.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` QuantilePickFEDInstruction.CreateMatrixFromFrame.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` QuantilePickFEDInstruction.GetHistogram.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` QuantilePickFEDInstruction.GetValuesInRange.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` QuantilePickFEDInstruction.GetValuesInRanges.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` QuantilePickFEDInstruction.MinMax.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ReorgFEDInstruction.DiagMatrix.`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.SliceMatrix.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ReshapeFEDInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` VariableFEDInstruction.`getLineageItem​(ExecutionContext ec)`
`CacheableData<?>` ParameterizedBuiltinFEDInstruction.`getTarget​(ExecutionContext ec)`
`static boolean` SpoofFEDInstruction.`isFederated​(ExecutionContext ec, FTypes.FType type, CPOperand[] inputs, Class<?> scla)`
`static boolean` SpoofFEDInstruction.`isFederated​(ExecutionContext ec, CPOperand[] inputs, Class<?> scla)`
`static AggregateBinaryFEDInstruction` AggregateBinaryFEDInstruction.`parseInstruction​(AggregateBinaryCPInstruction inst, ExecutionContext ec)`
`static AggregateTernaryFEDInstruction` AggregateTernaryFEDInstruction.`parseInstruction​(AggregateTernaryCPInstruction inst, ExecutionContext ec)`
`static AggregateTernaryFEDInstruction` AggregateTernaryFEDInstruction.`parseInstruction​(AggregateTernarySPInstruction inst, ExecutionContext ec)`
`static BinaryFEDInstruction` BinaryFEDInstruction.`parseInstruction​(BinaryCPInstruction inst, ExecutionContext ec)`
`static BinaryFEDInstruction` BinaryFEDInstruction.`parseInstruction​(BinarySPInstruction inst, ExecutionContext ec)`
`static CastFEDInstruction` CastFEDInstruction.`parseInstruction​(CastSPInstruction inst, ExecutionContext ec)`
`static CtableFEDInstruction` CtableFEDInstruction.`parseInstruction​(CtableCPInstruction inst, ExecutionContext ec)`
`static CtableFEDInstruction` CtableFEDInstruction.`parseInstruction​(CtableSPInstruction inst, ExecutionContext ec)`
`static MMChainFEDInstruction` MMChainFEDInstruction.`parseInstruction​(MMChainCPInstruction inst, ExecutionContext ec)`
`static MultiReturnParameterizedBuiltinFEDInstruction` MultiReturnParameterizedBuiltinFEDInstruction.`parseInstruction​(MultiReturnParameterizedBuiltinCPInstruction inst, ExecutionContext ec)`
`static MultiReturnParameterizedBuiltinFEDInstruction` MultiReturnParameterizedBuiltinFEDInstruction.`parseInstruction​(MultiReturnParameterizedBuiltinSPInstruction inst, ExecutionContext ec)`
`static ParameterizedBuiltinFEDInstruction` ParameterizedBuiltinFEDInstruction.`parseInstruction​(ParameterizedBuiltinCPInstruction inst, ExecutionContext ec)`
`static ParameterizedBuiltinFEDInstruction` ParameterizedBuiltinFEDInstruction.`parseInstruction​(ParameterizedBuiltinSPInstruction inst, ExecutionContext ec)`
`static QuaternaryFEDInstruction` QuaternaryFEDInstruction.`parseInstruction​(QuaternaryCPInstruction inst, ExecutionContext ec)`
`static QuaternaryFEDInstruction` QuaternaryFEDInstruction.`parseInstruction​(QuaternarySPInstruction inst, ExecutionContext ec)`
`static SpoofFEDInstruction` SpoofFEDInstruction.`parseInstruction​(SpoofCPInstruction inst, ExecutionContext ec)`
`static SpoofFEDInstruction` SpoofFEDInstruction.`parseInstruction​(SpoofSPInstruction inst, ExecutionContext ec)`
`static TernaryFEDInstruction` TernaryFEDInstruction.`parseInstruction​(TernaryCPInstruction inst, ExecutionContext ec)`
`static TernaryFEDInstruction` TernaryFEDInstruction.`parseInstruction​(TernarySPInstruction inst, ExecutionContext ec)`
`static TsmmFEDInstruction` TsmmFEDInstruction.`parseInstruction​(MMTSJCPInstruction inst, ExecutionContext ec)`
`static UnaryFEDInstruction` UnaryFEDInstruction.`parseInstruction​(UnaryCPInstruction inst, ExecutionContext ec)`
`static UnaryFEDInstruction` UnaryFEDInstruction.`parseInstruction​(UnarySPInstruction inst, ExecutionContext ec)`
`static VariableFEDInstruction` VariableFEDInstruction.`parseInstruction​(VariableCPInstruction inst, ExecutionContext ec)`
`void` QuantilePickFEDInstruction.`processColumnQPick​(ExecutionContext ec)`
`void` QuantileSortFEDInstruction.`processColumnQSort​(ExecutionContext ec)`
`void` CumulativeOffsetFEDInstruction.`processCumulativeInstruction​(ExecutionContext ec)`
`void` UnaryMatrixFEDInstruction.`processCumulativeInstruction​(ExecutionContext ec, MatrixObject mo1)`
`void` InitFEDInstruction.`processFromLocalFedInit​(ExecutionContext ec)`
`void` AggregateBinaryFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateTernaryFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateUnaryFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` AppendFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixMatrixFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixScalarFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` CastFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` CentralMomentFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` CovarianceFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` CtableFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` CumulativeOffsetFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` IndexingFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` InitFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` MMChainFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` MMFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` MultiReturnParameterizedBuiltinFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` ParameterizedBuiltinFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuantilePickFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuantileSortFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternaryWCeMMFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternaryWDivMMFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternaryWSigmoidFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternaryWSLossFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternaryWUMMFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReblockFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReorgFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReshapeFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` SpoofFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` TernaryFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` TernaryFrameScalarFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` TsmmFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` UnaryMatrixFEDInstruction.`processInstruction​(ExecutionContext ec)`
`void` VariableFEDInstruction.`processInstruction​(ExecutionContext ec)`
`<T> void` QuantilePickFEDInstruction.`processRowQPick​(ExecutionContext ec)`
`void` QuantileSortFEDInstruction.`processRowQSort​(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
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` DnnGPUInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` GPUInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MatrixIndexingGPUInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MatrixReshapeGPUInstruction.`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` AggregateBinaryGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateUnaryGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` DnnGPUInstruction.`processInstruction​(ExecutionContext ec)`
`abstract void` GPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixAppendGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixBuiltinGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixIndexingGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixMatrixArithmeticGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixMatrixAxpyGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixMatrixBuiltinGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixMatrixRelationalBinaryGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixReshapeGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` MMTSJGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReorgGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` ScalarMatrixArithmeticGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` ScalarMatrixBuiltinGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` ScalarMatrixRelationalBinaryGPUInstruction.`processInstruction​(ExecutionContext ec)`
`void` SpoofCUDAInstruction.`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>` BuiltinNarySPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` CheckpointSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ComputationSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MapmmChainSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` MatrixIndexingSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ParameterizedBuiltinSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` RandSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` ReblockSPInstruction.`getLineageItem​(ExecutionContext ec)`
`org.apache.commons.lang3.tuple.Pair<String,​LineageItem>` WriteSPInstruction.`getLineageItem​(ExecutionContext ec)`
`CacheableData<?>` ParameterizedBuiltinSPInstruction.`getTarget​(ExecutionContext ec)`
`void` SPInstruction.`postprocessInstruction​(ExecutionContext ec)`
`Instruction` SPInstruction.`preprocessInstruction​(ExecutionContext ec)`
`void` AggregateTernarySPInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateUnarySketchSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` AggregateUnarySPInstruction.`processInstruction​(ExecutionContext ec)`
`void` AppendGAlignedSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` AppendGSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryFrameFrameSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryFrameMatrixSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixBVectorSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixMatrixSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryMatrixScalarSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryTensorTensorBroadcastSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinaryTensorTensorSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BinUaggChainSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` BuiltinNarySPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CastSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CentralMomentSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CheckpointSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CompressionSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CovarianceSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CpmmSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CSVReblockSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CtableSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CumulativeAggregateSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` CumulativeOffsetSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` DeCompressionSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` DnnSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` FrameAppendMSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` FrameAppendRSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` FrameIndexingSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` LIBSVMReblockSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MapmmChainSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MapmmSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixAppendMSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixAppendRSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixIndexingSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MatrixReshapeSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` MultiReturnParameterizedBuiltinSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ParameterizedBuiltinSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` PMapmmSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` PmmSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuantilePickSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuantileSortSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` QuaternarySPInstruction.`processInstruction​(ExecutionContext ec)`
`void` RandSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReblockSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ReorgSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` RmmSPInstruction.`processInstruction​(ExecutionContext ec)`
`abstract void` SPInstruction.`processInstruction​(ExecutionContext ec)`
`void` SpoofSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` TernaryFrameScalarSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` TernarySPInstruction.`processInstruction​(ExecutionContext ec)`
`void` Tsmm2SPInstruction.`processInstruction​(ExecutionContext ec)`
`void` TsmmSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UaggOuterChainSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UnaryFrameSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` UnaryMatrixSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` WriteSPInstruction.`processInstruction​(ExecutionContext ec)`
`void` ZipmmSPInstruction.`processInstruction​(ExecutionContext ec)`

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

Methods in org.apache.sysds.runtime.instructions.spark.utils with parameters of type ExecutionContext
`static void` SparkUtils.`checkSparsity​(String varname, 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.`putFedReadObject​(Data data, LineageItem li, ExecutionContext ec)`
`static void` LineageCache.`putMatrix​(Instruction inst, ExecutionContext ec, long computetime)`
`static void` LineageCache.`putValue​(List<DataIdentifier> outputs, LineageItem[] liInputs, String name, 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` LineageItemUtils.`replaceDagLeaves​(ExecutionContext ec, LineageItem root, CPOperand[] newLeaves)`
`static void` LineageDedupUtils.`replaceLineage​(ExecutionContext ec)`
`static boolean` LineageCache.`reuse​(List<String> outNames, List<DataIdentifier> outParams, int numOutputs, LineageItem[] liInputs, String name, ExecutionContext ec)`
`static FederatedResponse` LineageCache.`reuse​(FederatedUDF udf, ExecutionContext ec)`
`static boolean` LineageCache.`reuse​(Instruction inst, ExecutionContext ec)`
`static boolean` LineageCache.`reuseFedRead​(String outName, Types.DataType dataType, LineageItem li, ExecutionContext ec)`
`static void` LineageDedupUtils.`setNewDedupPatch​(LineageDedupBlock ldb, ProgramBlock fpb, ExecutionContext ec)`
`void` LineageDedupBlock.`setNumPathsInPBs​(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`
`void` Lineage.`trace​(Instruction inst, ExecutionContext ec)`
`void` LineageMap.`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 MatrixObject` LibMatrixCUDA.`getDenseMatrixOutputForGPUInstruction​(ExecutionContext ec, String instName, String name, long numRows, long numCols, boolean initialize)`
`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
`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.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 ListObject` AutoDiff.`getBackward​(MatrixObject mo, ArrayList<Data> lineage, ExecutionContext adec)`
`static int[]` DataConverter.`getTensorDimensions​(ExecutionContext ec, CPOperand dims)`
`static List<Data>` AutoDiff.`parseNComputeAutoDiffFromLineage​(MatrixObject mo, String mainTrace, ArrayList<String> names, ExecutionContext ec)`

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

Methods in org.apache.sysds.utils with parameters of type ExecutionContext
`static void` Statistics.`maintainNGramsFromLineage​(Instruction tmp, ExecutionContext ec, long t0)`