7#ifndef PXR_EXEC_EF_EXECUTOR_H
8#define PXR_EXEC_EF_EXECUTOR_H
24PXR_NAMESPACE_OPEN_SCOPE
37 template <
typename>
class EngineType,
38 typename DataManagerType>
50 using SpeculationEngineType =
51 typename EngineType<T>::SpeculationExecutorEngine;
56 EfSubExecutor<EngineType, DataManagerType>,
72 virtual const VdfExecutorFactoryBase &
GetFactory() const override final {
82 const VdfRequest &computeRequest,
87 virtual void _ClearData()
override;
93 static const _Factory _factory;
97 EngineType<DataManagerType> _engine;
102template <
template <
typename>
class EngineType,
typename DataManagerType>
103const typename EfExecutor<EngineType, DataManagerType>::_Factory
106template <
template <
typename>
class EngineType,
typename DataManagerType>
110 const VdfRequest &computeRequest,
114 if (computeRequest.IsEmpty()) {
121 _engine.RunSchedule(schedule, computeRequest, errorLogger);
124template <
template <
typename>
class EngineType,
typename DataManagerType>
128 Base::_dataManager.Clear();
131PXR_NAMESPACE_CLOSE_SCOPE
Executes a VdfNetwork to compute a requested set of values.
EfExecutor()
Default constructor.
virtual const VdfExecutorFactoryBase & GetFactory() const override final
Factory construction.
virtual ~EfExecutor()
Destructor.
Base class for executors that use a data manager.
A client may instantiate an object of this class and set it in an executor, to collect errors that ma...
Contains a specification of how to execute a particular VdfNetwork.
Executor used in speculation.