## Uses of Class
org.apache.sysds.runtime.controlprogram.ProgramBlock

- Packages that use ProgramBlock
  Package | Description
  --- | ---
  org.apache.sysds.api.jmlc |
  org.apache.sysds.hops.codegen |
  org.apache.sysds.hops.cost |
  org.apache.sysds.hops.recompile |
  org.apache.sysds.parser |
  org.apache.sysds.runtime.controlprogram |
  org.apache.sysds.runtime.controlprogram.paramserv |
  org.apache.sysds.runtime.controlprogram.parfor |
  org.apache.sysds.runtime.controlprogram.parfor.opt |
  org.apache.sysds.runtime.lineage |
  org.apache.sysds.runtime.util |
  org.apache.sysds.utils |

- - ### Uses of ProgramBlock in org.apache.sysds.api.jmlc

    Methods in org.apache.sysds.api.jmlc with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | JMLCUtils.`rCleanupRuntimeProgram(ProgramBlock pb, HashSet<String> outputs)` Cleanup program blocks (called recursively).

  - ### Uses of ProgramBlock in org.apache.sysds.hops.codegen

    Methods in org.apache.sysds.hops.codegen with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | SpoofCompiler.`generateCodeFromProgramBlock(ProgramBlock current)`

  - ### Uses of ProgramBlock in org.apache.sysds.hops.cost

    Methods in org.apache.sysds.hops.cost with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static double` | CostEstimationWrapper.`getTimeEstimate(ProgramBlock pb, ExecutionContext ec, boolean recursive)`
    `double` | CostEstimator.`getTimeEstimate(ProgramBlock pb, LocalVariableMap vars, HashMap<String,VarStats> stats, boolean recursive)`

  - ### Uses of ProgramBlock in org.apache.sysds.hops.recompile

    Methods in org.apache.sysds.hops.recompile with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | Recompiler.`recompileProgramBlockInstructions(ProgramBlock pb)` This method does NO full program block recompile (no stats update, no rewrites, no recursion) but only regenerates lops and instructions.

    Method parameters in org.apache.sysds.hops.recompile with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | Recompiler.`recompileProgramBlockHierarchy(ArrayList<ProgramBlock> pbs, LocalVariableMap vars, long tid, Recompiler.ResetType resetRecompile)`
    `static void` | Recompiler.`recompileProgramBlockHierarchy2Forced(ArrayList<ProgramBlock> pbs, long tid, HashSet<String> fnStack, LopProperties.ExecType et)` Method to recompile program block hierarchy to forced execution time.

  - ### Uses of ProgramBlock in org.apache.sysds.parser

    Methods in org.apache.sysds.parser that return ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `ProgramBlock` | DMLTranslator.`createRuntimeProgramBlock(Program prog, StatementBlock sb, DMLConfig config)`

    Methods in org.apache.sysds.parser with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `void` | DMLTranslator.`codgenHopsDAG(ProgramBlock pb)`

  - ### Uses of ProgramBlock in org.apache.sysds.runtime.controlprogram

    Subclasses of ProgramBlock in org.apache.sysds.runtime.controlprogram
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicProgramBlock`
    `class` | `ForProgramBlock`
    `class` | `FunctionProgramBlock`
    `class` | `IfProgramBlock`
    `class` | `ParForProgramBlock` The ParForProgramBlock has the same execution semantics as a ForProgamBlock but executes the independent iterations in parallel.
    `class` | `WhileProgramBlock`

    Methods in org.apache.sysds.runtime.controlprogram that return types with arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<ProgramBlock>` | BasicProgramBlock.`getChildBlocks()`
    `ArrayList<ProgramBlock>` | IfProgramBlock.`getChildBlocks()`
    `ArrayList<ProgramBlock>` | WhileProgramBlock.`getChildBlocks()`
    `ArrayList<ProgramBlock>` | ForProgramBlock.`getChildBlocks()`
    `ArrayList<ProgramBlock>` | FunctionProgramBlock.`getChildBlocks()`
    `abstract ArrayList<ProgramBlock>` | ProgramBlock.`getChildBlocks()` Get the list of child program blocks if nested; otherwise this method returns null.
    `ArrayList<ProgramBlock>` | IfProgramBlock.`getChildBlocksElseBody()`
    `ArrayList<ProgramBlock>` | IfProgramBlock.`getChildBlocksIfBody()`
    `ArrayList<ProgramBlock>` | Program.`getProgramBlocks()`

    Methods in org.apache.sysds.runtime.controlprogram with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `void` | Program.`addProgramBlock(ProgramBlock pb)`
    `void` | WhileProgramBlock.`addProgramBlock(ProgramBlock childBlock)`
    `void` | ForProgramBlock.`addProgramBlock(ProgramBlock childBlock)`
    `void` | FunctionProgramBlock.`addProgramBlock(ProgramBlock childBlock)`
    `void` | IfProgramBlock.`addProgramBlockElseBody(ProgramBlock pb)`
    `void` | IfProgramBlock.`addProgramBlockIfBody(ProgramBlock pb)`

    Method parameters in org.apache.sysds.runtime.controlprogram with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `void` | WhileProgramBlock.`setChildBlocks(ArrayList<ProgramBlock> childs)`
    `void` | ForProgramBlock.`setChildBlocks(ArrayList<ProgramBlock> pbs)`
    `void` | FunctionProgramBlock.`setChildBlocks(ArrayList<ProgramBlock> pbs)`
    `void` | IfProgramBlock.`setChildBlocksElseBody(ArrayList<ProgramBlock> blocks)`
    `void` | IfProgramBlock.`setChildBlocksIfBody(ArrayList<ProgramBlock> blocks)`

  - ### Uses of ProgramBlock in org.apache.sysds.runtime.controlprogram.paramserv

    Method parameters in org.apache.sysds.runtime.controlprogram.paramserv with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | ParamservUtils.`recompileProgramBlocks(int k, List<ProgramBlock> pbs)`

  - ### Uses of ProgramBlock in org.apache.sysds.runtime.controlprogram.parfor

    Methods in org.apache.sysds.runtime.controlprogram.parfor that return types with arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<ProgramBlock>` | ParForBody.`getChildBlocks()`

    Method parameters in org.apache.sysds.runtime.controlprogram.parfor with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `void` | ParForBody.`setChildBlocks(ArrayList<ProgramBlock> childBlocks)`

    Constructor parameters in org.apache.sysds.runtime.controlprogram.parfor with type arguments of type ProgramBlock
    Constructor and Description
    `ParForBody(ArrayList<ProgramBlock> childBlocks, ArrayList<ParForStatementBlock.ResultVar> resultVars, ExecutionContext ec)`

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

    Methods in org.apache.sysds.runtime.controlprogram.parfor.opt that return ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `ProgramBlock` | OptTreePlanMappingAbstract.`getMappedProgramBlock(long id)`

    Methods in org.apache.sysds.runtime.controlprogram.parfor.opt that return types with arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static ArrayList<ProgramBlock>` | ProgramRecompiler.`generatePartitialRuntimeProgram(Program rtprog, ArrayList<StatementBlock> sbs)`

    Methods in org.apache.sysds.runtime.controlprogram.parfor.opt with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | OptTreePlanChecker.`checkProgramCorrectness(ProgramBlock pb, StatementBlock sb, Set<String> fnStack)`
    `static boolean` | ProgramRecompiler.`containsAtLeastOneFunction(ProgramBlock pb)`
    `long` | OptTreePlanMappingRuntime.`putMapping(ProgramBlock pb, OptNode n)`
    `long` | OptTreePlanMappingAbstract.`putProgMapping(StatementBlock sb, ProgramBlock pb, OptNode n)`
    `static boolean` | OptTreeConverter.`rContainsMRJobInstruction(ProgramBlock pb, boolean inclFunctions)`
    `static OptNode` | OptTreeConverter.`rCreateAbstractOptNode(StatementBlock sb, ProgramBlock pb, LocalVariableMap vars, boolean topLevel, Set<String> memo)`
    `static OptNode` | OptTreeConverter.`rCreateOptNode(ProgramBlock pb, LocalVariableMap vars, boolean topLevel, boolean storeObjs)`
    `void` | OptTreePlanMappingAbstract.`replaceMapping(ProgramBlock pb, OptNode n)`
    `void` | OptTreePlanMappingRuntime.`replaceMapping(ProgramBlock pb, OptNode n)`
    `static void` | OptTreeConverter.`replaceProgramBlock(List<ProgramBlock> pbs, ProgramBlock pbOld, ProgramBlock pbNew)`
    `static void` | OptTreeConverter.`replaceProgramBlock(OptNode parent, OptNode n, ProgramBlock pbOld, ProgramBlock pbNew, boolean rtMap)`
    `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.

    Method parameters in org.apache.sysds.runtime.controlprogram.parfor.opt with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static void` | OptTreeConverter.`replaceProgramBlock(List<ProgramBlock> pbs, ProgramBlock pbOld, ProgramBlock pbNew)`

  - ### Uses of ProgramBlock in org.apache.sysds.runtime.lineage

    Methods in org.apache.sysds.runtime.lineage that return types with arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `Map<ProgramBlock,LineageDedupBlock>` | Lineage.`getDedupBlocks()`

    Methods in org.apache.sysds.runtime.lineage with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static LineageDedupBlock` | LineageDedupUtils.`computeDedupBlock(ProgramBlock fpb, ExecutionContext ec)`
    `static long` | LineageDedupUtils.`computeNumPaths(ProgramBlock fpb, ExecutionContext ec)`
    `void` | Lineage.`createDedupPatch(ProgramBlock pb, ExecutionContext ec)`
    `void` | Lineage.`initializeDedupBlock(ProgramBlock pb, ExecutionContext ec)`
    `static LineageDedupBlock` | LineageDedupUtils.`initializeDedupBlock(ProgramBlock fpb, ExecutionContext ec)`
    `static boolean` | LineageDedupUtils.`isValidDedupBlock(ProgramBlock pb, boolean inLoop)`
    `static void` | LineageDedupUtils.`setNewDedupPatch(LineageDedupBlock ldb, ProgramBlock fpb, ExecutionContext ec)`
    `void` | Lineage.`traceCurrentDedupPath(ProgramBlock pb, ExecutionContext ec)`
    `void` | LineageDedupBlock.`traceProgramBlock(ProgramBlock pb, ExecutionContext ec, Collection<Map.Entry<Long,LineageMap>> paths)`

    Method parameters in org.apache.sysds.runtime.lineage with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static long` | LineageDedupUtils.`numPathsInPBs(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`
    `void` | LineageDedupBlock.`setNumPathsInPBs(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`
    `void` | LineageDedupBlock.`traceProgramBlocks(ArrayList<ProgramBlock> pbs, ExecutionContext ec)`

  - ### Uses of ProgramBlock in org.apache.sysds.runtime.util

    Methods in org.apache.sysds.runtime.util that return types with arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static ArrayList<ProgramBlock>` | ProgramConverter.`rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks, long pid, int IDPrefix, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)` This recursively creates a deep copy of program blocks and transparently replaces filenames according to the specified parallel worker in order to avoid conflicts between parworkers.

    Method parameters in org.apache.sysds.runtime.util with type arguments of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static ArrayList<ProgramBlock>` | ProgramConverter.`rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks, long pid, int IDPrefix, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)` This recursively creates a deep copy of program blocks and transparently replaces filenames according to the specified parallel worker in order to avoid conflicts between parworkers.

  - ### Uses of ProgramBlock in org.apache.sysds.utils

    Methods in org.apache.sysds.utils with parameters of type ProgramBlock
    Modifier and Type | Method and Description
    --- | ---
    `static String` | Explain.`explain(ProgramBlock pb)`

Copyright © 2020 The Apache Software Foundation. All rights reserved.