Class GreedyScheduler
Defined in File greedy_scheduler.hpp
Base Type
public holoscan::gxf::GXFScheduler
(Class GXFScheduler)
-
class GreedyScheduler : public holoscan::gxf::GXFScheduler
Greedy Scheduler.
This is a single-threaded scheduler that will execute operators serially in a deterministic order. Holoscan sorts operators so that execution will occur in topological order (moving from the root to the leaves of the computation graph).
==Parameters==
stop_on_deadlock (bool): If True, the application will terminate if a deadlock state is reached. Defaults to true.
stop_on_deadlock_timeout (int64_t): The amount of time (in ms) before an application is considered to be in deadlock. Defaults to 0.
check_recession_period_ms (double): Duration to sleep before checking the condition of the next operator (default: 0 ms). The units are in ms.
max_duration_ms_ (int64_t, optional): Terminate the application after the specified duration even if deadlock does not occur. If unspecified, the application can run indefinitely.
Public Functions
-
template<typename ArgT, typename ...ArgsT, typename = std::enable_if_t<!std::is_base_of_v<::holoscan::Scheduler, std::decay_t<ArgT>> && (std::is_same_v<::holoscan::Arg, std::decay_t<ArgT>> || std::is_same_v<::holoscan::ArgList, std::decay_t<ArgT>>)>>
inline explicit GreedyScheduler(ArgT &&arg, ArgsT&&... args)
-
GreedyScheduler() = default
-
inline virtual const char *gxf_typename() const override
Get the type name of the GXF scheduler.
The returned string is the type name of the GXF scheduler and is used to create the GXF scheduler.
Example: “nvidia::holoscan::GreedyScheduler”
- Returns
The type name of the GXF scheduler.
-
inline virtual std::shared_ptr<Clock> clock() override
Get the Clock used by the scheduler.
- Returns
The Clock used by the scheduler.
-
virtual void setup(ComponentSpec &spec) override
Define the scheduler specification.
- Parameters
spec – The reference to the component specification.
-
virtual void initialize() override
Initialize the scheduler.
This function is called after the scheduler is created by holoscan::Fragment::make_scheduler().
-
inline bool stop_on_deadlock()
-
inline double check_recession_period_ms()
-
inline int64_t stop_on_deadlock_timeout()
-
inline int64_t max_duration_ms()
-
nvidia::gxf::GreedyScheduler *get() const