HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VdfSimpleExecutor Class Reference

Executes a VdfNetwork to compute a requested set of values using depth first search. More...

#include <simpleExecutor.h>

+ Inheritance diagram for VdfSimpleExecutor:

Public Member Functions

virtual VDF_API ~VdfSimpleExecutor ()
 
virtual VDF_API const
VdfExecutorFactoryBase
GetFactory () const overridefinal
 
- Public Member Functions inherited from VdfDataManagerBasedExecutor< VdfParallelDataManagerVector, VdfExecutorInterface >
 VdfDataManagerBasedExecutor ()
 
 VdfDataManagerBasedExecutor (const VdfExecutorInterface *parentExecutor)
 
virtual ~VdfDataManagerBasedExecutor ()
 
virtual void Resize (const VdfNetwork &network) override
 
virtual void SetOutputValue (const VdfOutput &output, const VdfVector &value, const VdfMask &mask) override
 
virtual bool TakeOutputValue (const VdfOutput &output, VdfVector *value, const VdfMask &mask) override
 
virtual void DuplicateOutputData (const VdfOutput &sourceOutput, const VdfOutput &destOutput) override
 
virtual bool IsEmpty () const override
 
virtual bool HasInvalidationTimestampMismatch (const VdfOutput &source, const VdfOutput &dest) const override
 
- Public Member Functions inherited from VdfExecutorInterface
 VdfExecutorInterface (const VdfExecutorInterface &)=delete
 
VdfExecutorInterfaceoperator= (const VdfExecutorInterface &)=delete
 
virtual VDF_API ~VdfExecutorInterface ()
 
VDF_API void Run (const VdfSchedule &schedule, VdfExecutorErrorLogger *errorLogger=NULL)
 
VDF_API void Run (const VdfSchedule &schedule, const VdfRequest &computeRequest, VdfExecutorErrorLogger *errorLogger=NULL)
 
VDF_API void RegisterObserver (const VdfExecutorObserver *observer) const
 
VDF_API void UnregisterObserver (const VdfExecutorObserver *observer) const
 
const VdfVectorGetOutputValue (const VdfOutput &output, const VdfMask &mask) const
 
const VdfExecutorInterfaceGetParentExecutor () const
 
VDF_API void SetParentExecutor (const VdfExecutorInterface *parentExecutor)
 
VDF_API void InvalidateValues (const VdfMaskedOutputVector &invalidationRequest)
 
VDF_API void InvalidateTopologicalState ()
 
VDF_API void ClearData ()
 
VDF_API void ClearDataForOutput (const VdfId outputId, const VdfId nodeId)
 
void IncrementExecutorInvalidationTimestamp ()
 
void InheritExecutorInvalidationTimestamp (const VdfExecutorInterface &executor)
 
VdfInvalidationTimestamp GetExecutorInvalidationTimestamp () const
 
void SetInterruptionFlag (const std::atomic_bool *interruptionFlag)
 
const std::atomic_bool * GetInterruptionFlag () const
 
bool HasBeenInterrupted () const
 
void SetExecutionStats (VdfExecutionStats *stats)
 
VdfExecutionStatsGetExecutionStats () const
 

Protected Types

using DataManagerType = VdfParallelDataManagerVector
 
using _DataHandle = typename DataManagerType::DataHandle
 

Protected Member Functions

virtual VDF_API void _Run (const VdfSchedule &schedule, const VdfRequest &computeRequest, VdfExecutorErrorLogger *errorLogger) override
 
VDF_API void _PrepareReadWriteBuffer (VdfExecutorBufferData *bufferData, const VdfInput &input, const VdfMask &mask, const VdfSchedule &schedule)
 
- Protected Member Functions inherited from VdfDataManagerBasedExecutor< VdfParallelDataManagerVector, VdfExecutorInterface >
virtual const VdfVector_GetInputValue (const VdfConnection &connection, const VdfMask &mask) const override
 
virtual const VdfVector_GetOutputValueForReading (const VdfOutput &output, const VdfMask &mask) const override
 
virtual VdfVector_GetOutputValueForWriting (const VdfOutput &output) const override
 
void _ClearDataForOutput (const VdfId outputId, const VdfId nodeId) override
 
virtual bool _IsOutputInvalid (const VdfId outputId, const VdfMask &invalidationMask) const override
 
virtual bool _InvalidateOutput (const VdfOutput &output, const VdfMask &invalidationMask) override
 
virtual void _UpdateInvalidationTimestamp () override
 
virtual void _SetReferenceOutputValue (const VdfOutput &destOutput, const VdfOutput &sourceOutput, const VdfMask &sourceMask) const override
 
virtual void _TouchOutput (const VdfOutput &output) const override
 
- Protected Member Functions inherited from VdfExecutorInterface
VDF_API VdfExecutorInterface ()
 
VDF_API VdfExecutorInterface (const VdfExecutorInterface *parentExecutor)
 
virtual bool _PreProcessInvalidation (const VdfMaskedOutputVector &invalidationRequest, VdfMaskedOutputVector *processedRequest)
 
virtual VDF_API void _ClearData ()
 

Additional Inherited Members

- Protected Attributes inherited from VdfDataManagerBasedExecutor< VdfParallelDataManagerVector, VdfExecutorInterface >
VdfParallelDataManagerVector _dataManager
 

Detailed Description

Executes a VdfNetwork to compute a requested set of values using depth first search.

Definition at line 33 of file simpleExecutor.h.

Member Typedef Documentation

The data handle type defined by the data manager.

Definition at line 57 of file simpleExecutor.h.

The data manager type used by this executor.

Definition at line 53 of file simpleExecutor.h.

Constructor & Destructor Documentation

virtual VDF_API VdfSimpleExecutor::~VdfSimpleExecutor ( )
virtual

Destructor

Member Function Documentation

VDF_API void VdfSimpleExecutor::_PrepareReadWriteBuffer ( VdfExecutorBufferData bufferData,
const VdfInput input,
const VdfMask mask,
const VdfSchedule schedule 
)
protected

Prepares a buffer to be used as a read/write output.

virtual VDF_API void VdfSimpleExecutor::_Run ( const VdfSchedule schedule,
const VdfRequest computeRequest,
VdfExecutorErrorLogger errorLogger 
)
overrideprotectedvirtual

Executes the schedule.

VdfSimpleExecutor ignores the computeRequest and computes all the outputs in the schedule.

Implements VdfExecutorInterface.

virtual VDF_API const VdfExecutorFactoryBase& VdfSimpleExecutor::GetFactory ( ) const
finaloverridevirtual

Factory construction.

Implements VdfExecutorInterface.


The documentation for this class was generated from the following file: