|
| void | _ResetState (const VdfSchedule &schedule) |
| |
| template<typename Callback > |
| void | _RunOutput (const VdfEvaluationState &state, const VdfMaskedOutput &maskedOutput, const size_t requestedIndex, Callback &callback, WorkTaskGraph::TaskList *taskList) |
| |
| void | _SpawnRequestedTasks (const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| void | _SpawnOrBypass (WorkTaskGraph::BaseTask *task, WorkTaskGraph::BaseTask **bypass) |
| |
| template<typename Callback > |
| bool | _ProcessLeafTask (WorkTaskGraph::BaseTask *task, const VdfEvaluationState &state, const VdfMaskedOutput &maskedOutput, const size_t requestedIndex, Callback &callback, _EvaluationStage *evaluationStage, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _ProcessComputeTask (WorkTaskGraph::BaseTask *task, const VdfEvaluationState &state, const VdfNode &node, const VdfScheduleComputeTask &scheduleTask, _EvaluationStage *evaluationStage, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _ProcessInputsTask (WorkTaskGraph::BaseTask *task, const VdfEvaluationState &state, const VdfNode &node, const VdfScheduleInputsTask &scheduleTask, _EvaluationStage *evaluationStage, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _ProcessKeepTask (WorkTaskGraph::BaseTask *task, const VdfEvaluationState &state, const VdfNode &node, _EvaluationStage *evaluationStage, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokeKeepTask (const VdfScheduleTaskIndex idx, const VdfNode &node, const VdfEvaluationState &state, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| void | _InvokeTouchTask (const VdfOutput &dest, const VdfOutput &source) |
| |
| bool | _InvokeComputeTask (const VdfScheduleTaskId taskIndex, const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| template<typename Iterable > |
| bool | _InvokeComputeTasks (const Iterable &tasks, const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _IsInputDependencyCached (VdfScheduleInputDependencyUniqueIndex uniqueIndex, const VdfOutput &output, const VdfMask &mask) |
| |
| bool | _InvokeComputeOrKeepTasks (const VdfScheduleInputDependency &input, const VdfEvaluationState &state, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokeComputeOrKeepTasks (const VdfOutput &output, const VdfEvaluationState &state, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokePrereqInputs (const VdfScheduleInputsTask &scheduleTask, const VdfEvaluationState &state, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokeOptionalInputs (const VdfScheduleInputsTask &scheduleTask, const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokeRequiredInputs (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokeInputsTask (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor, WorkTaskGraph::BaseTask **bypass) |
| |
| bool | _InvokePrepTask (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor) |
| |
| void | _PrepareNode (const VdfEvaluationState &state, const VdfNode &node) |
| |
| void | _PrepareOutput (const VdfSchedule &schedule, const VdfSchedule::OutputId outputId) |
| |
| void | _CreateScratchCache (const VdfOutput &output, const _DataHandle dataHandle, const VdfMask &mask, VdfExecutorBufferData *scratchBuffer) |
| |
| void | _EvaluateNode (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, const VdfNode &node, WorkTaskGraph::BaseTask *successor) |
| |
| void | _ComputeNode (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, const VdfNode &node) |
| |
| void | _PassThroughNode (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, const VdfNode &node) |
| |
| void | _ProcessOutput (const VdfScheduleComputeTask &scheduleTask, const VdfEvaluationState &state, const VdfOutput &output, const VdfSchedule::OutputId outputId, const _DataHandle dataHandle, const bool hasAssociatedInput, VdfExecutorBufferData *privateBuffer) |
| |
| void | _PrepareReadWriteBuffer (const VdfOutput &output, const VdfSchedule::OutputId outputId, const VdfMask &mask, const VdfSchedule &schedule, VdfExecutorBufferData *privateBuffer) |
| |
| void | _PassOrCopyBuffer (const VdfOutput &output, const VdfOutput &source, const VdfMask &inputMask, const VdfSchedule &schedule, VdfExecutorBufferData *privateBuffer) |
| |
| void | _PassBuffer (VdfExecutorBufferData *fromBuffer, VdfExecutorBufferData *toBuffer) const |
| |
| void | _CopyBuffer (const VdfOutput &output, const VdfOutput &source, const VdfMask &fromMask, VdfExecutorBufferData *toData) const |
| |
| void | _PublishScratchBuffers (const VdfSchedule &schedule, const VdfNode &node) |
| |
| VdfVector * | _AbsorbPublicBuffer (const VdfOutput &output, const _DataHandle dataHandle, const VdfMask &haveMask) |
| |
| bool | _DetectInterruption (const VdfEvaluationState &state, const VdfNode &node) |
| |
| bool | _HasDetectedInterruption () const |
| |
| void | _TransportErrors (const TfErrorMark &errorMark) |
| |
| void | _PostTransportedErrors () |
| |
| Derived & | _Self () |
| |
template<typename Derived, typename DataManager>
class VdfParallelExecutorEngineBase< Derived, DataManager >
The base class for all parallel executor engines.
This executor engine evaluates a parallel task graph generated at scheduling time. It evaluates each node and all their invocations in different tasks, which can then run on separate threads. This executor engine does branch multi- threading, as well as strip-mining. It also produces multiple invocations for nodes that mutate a lot of data, potentially spreading the work of a single node across multiple threads.
Definition at line 58 of file parallelExecutorEngineBase.h.