What can I help you with?
NVIDIA Holoscan SDK v3.2.0

Class GreedyScheduler

Base Type

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

Previous Class GreedyFragmentAllocationStrategy
Next Class ComponentInfo
© Copyright 2022-2025, NVIDIA. Last updated on Apr 30, 2025.