|
| typedef DataManager::DataHandle | _DataHandle |
| |
| typedef uint32_t | _EvaluationStage |
| |
| void | _ResetState (const VdfSchedule &schedule) |
| |
| 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) |
| |
| 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) |
| |
| 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 () |
| |
| VdfParallelSpeculationExecutorEngine< DataManagerType > & | _Self () |
| |
| const VdfExecutorInterface & | _executor |
| |
| DataManagerType * | _dataManager |
| |
| WorkTaskGraph | _taskGraph |
| |
| WorkIsolatingDispatcher | _isolatingDispatcher |
| |
| std::unique_ptr< std::atomic< uint8_t >[]> | _dependencyState |
| |
| std::atomic< bool > | _resetState |
| |
| VdfParallelTaskSync | _computeTasks |
| |
| VdfParallelTaskSync | _inputsTasks |
| |
| VdfParallelTaskSync | _prepTasks |
| |
| VdfParallelTaskSync | _keepTasks |
| |
| tbb::concurrent_vector< TfErrorTransport > | _errors |
| |
| std::atomic< bool > | _isInterrupted |
| |
template<typename DataManagerType>
class VdfParallelSpeculationExecutorEngine< DataManagerType >
An executor engine used for parallel speculation node evaluation, deriving from VdfParallelExecutorEngineBase.
The engine does not support arena execution. The reason being that the parent executor engine will already be executing tasks inside of an arena. The engine does also not need to do any touching, or buffer locking, due to its temporary lifetime. It does, however, do cycle detection.
Definition at line 33 of file parallelSpeculationExecutorEngine.h.