Package org.apache.sysds.parser
Class ParForStatementBlock
java.lang.Object
org.apache.sysds.parser.LiveVariableAnalysis
org.apache.sysds.parser.StatementBlock
org.apache.sysds.parser.ForStatementBlock
org.apache.sysds.parser.ParForStatementBlock
- All Implemented Interfaces:
ParseInfo
This ParForStatementBlock is essentially identical to a ForStatementBlock, except an extended validate
for checking/setting optional parfor parameters and running the loop dependency analysis.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class org.apache.sysds.parser.StatementBlock
DEFAULT_LOOP_REPETITIONS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDetermines the PDataPartitioningFormat for read-only parent variables according to the access pattern of that variable within the parfor statement block.longgetID()voidvalidate(DMLProgram dmlProg, VariableSet ids, HashMap<String, ConstIdentifier> constVars, boolean conditional) Methods inherited from class org.apache.sysds.parser.ForStatementBlock
analyze, getEstimateReps, getFromHops, getFromLops, getIncrementHops, getIncrementLops, getInputstoSB, getIterPredicate, getToHops, getToLops, initializebackwardLV, initializeforwardLV, performConstantPropagation, requiresFromRecompilation, requiresIncrementRecompilation, requiresPredicateRecompilation, requiresToRecompilation, setFromHops, setFromLops, setIncrementHops, setIncrementLops, setToHops, setToLops, updatePredicateRecompilationFlagsMethods inherited from class org.apache.sysds.parser.StatementBlock
addStatement, addStatementBlock, getBeginColumn, getBeginLine, getCheckpointPositions, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getLoopDepRatio, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, hasHops, isMergeableFunctionCallBlock, isNondeterministic, isRecompileOnce, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setCheckpointPosition, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLoopDepRatio, setLops, setNondeterministic, setParseInfo, setRecompileOnce, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlagMethods inherited from class org.apache.sysds.parser.LiveVariableAnalysis
getGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdated
-
Field Details
-
CHECK
- See Also:
-
PAR
- See Also:
-
TASK_PARTITIONER
- See Also:
-
TASK_SIZE
- See Also:
-
DATA_PARTITIONER
- See Also:
-
RESULT_MERGE
- See Also:
-
EXEC_MODE
- See Also:
-
OPT_MODE
- See Also:
-
OPT_LOG
- See Also:
-
PROFILE
- See Also:
-
INTERAL_FN_INDEX_ROW
- See Also:
-
INTERAL_FN_INDEX_COL
- See Also:
-
-
Constructor Details
-
ParForStatementBlock
public ParForStatementBlock()
-
-
Method Details
-
getID
public long getID() -
getResultVariables
-
setResultVariables
-
validate
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String, ConstIdentifier> constVars, boolean conditional) - Overrides:
validatein classForStatementBlock
-
getReadOnlyParentMatrixVars
-
determineDataPartitionFormat
Determines the PDataPartitioningFormat for read-only parent variables according to the access pattern of that variable within the parfor statement block. Row-wise or column wise partitioning is only suggested if we see pure row-wise or column-wise access patterns.- Parameters:
var- variables- Returns:
- partition format
-