holoscan.schedulers
This module provides a Python API to underlying C++ API Schedulers.
holoscan.schedulers.GreedyScheduler |
GreedyScheduler scheduler class. |
holoscan.schedulers.MultiThreadScheduler |
Multi-thread scheduler class. |
- class holoscan.schedulers.GreedyScheduler
Bases:
holoscan.gxf._gxf.GXFScheduler
,holoscan.core._core.Component
,holoscan.gxf._gxf.GXFComponent
GreedyScheduler scheduler class.
Attributes
args
The list of arguments associated with the component. description
YAML formatted string describing the component. fragment
Fragment that the scheduler belongs to. gxf_cid
The GXF component ID. gxf_cname
The name of the component. gxf_context
The GXF context of the component. gxf_eid
The GXF entity ID. gxf_typename
The GXF type name of the scheduler. id
The identifier of the component. name
The name of the scheduler. check_recession_period_ms clock max_duration_ms spec stop_on_deadlock stop_on_deadlock_timeout Methods
add_arg
(*args, **kwargs)Overloaded function. gxf_initialize
(self)Initialize the component. initialize
(self)Initialize the scheduler. setup
(self, arg0)setup method for the scheduler. - __init__(self: holoscan.schedulers._schedulers.GreedyScheduler, fragment: holoscan.core._core.Fragment, *, clock: holoscan.resources._resources.Clock = None, stop_on_deadlock: bool = True, max_duration_ms: int = - 1, check_recession_period_ms: float = 0.0, stop_on_deadlock_timeout: int = 0, name: str = 'greedy_scheduler') → None
Greedy scheduler
- Parameters
- fragmentFragment
The fragment the condition will be associated with
- clockholoscan.resources.Clock or None, optional
The clock used by the scheduler to define the flow of time. If None, a default-constructed holoscan.resources.RealtimeClock will be used.
- stop_on_deadlockbool, optional
If enabled the scheduler will stop when all entities are in a waiting state, but no periodic entity exists to break the dead end. Should be disabled when scheduling conditions can be changed by external actors, for example by clearing queues manually.
- max_duration_msint, optional
The maximum duration for which the scheduler will execute (in ms). If not specified (or if a negative value is provided), the scheduler will run until all work is done. If periodic terms are present, this means the application will run indefinitely.
- check_recession_period_msfloat, optional
The maximum duration for which the scheduler would wait (in ms) when all operators are not ready to run in the current iteration.
- stop_on_deadlock_timeoutint, optional
The scheduler will wait this amount of time before determining that it is in deadlock and should stop. It will reset if a job comes in during the wait. A negative value means not stop on deadlock. This parameter only applies when stop_on_deadlock=true”,
- namestr, optional
The name of the scheduler.
- add_arg(*args, **kwargs)
Overloaded function.
add_arg(self: holoscan.core._core.Component, arg: holoscan.core._core.Arg) -> None
Add an argument to the component.
add_arg(self: holoscan.core._core.Component, arg: holoscan.core._core.ArgList) -> None
Add a list of arguments to the component.
- property args
The list of arguments associated with the component.
- Returns
- arglistholoscan.core.ArgList
- property check_recession_period_ms
- property clock
- property description
YAML formatted string describing the component.
- property fragment
Fragment that the scheduler belongs to.
- Returns
- nameholoscan.core.Fragment
- property gxf_cid
The GXF component ID.
- property gxf_cname
The name of the component.
- property gxf_context
The GXF context of the component.
- property gxf_eid
The GXF entity ID.
- gxf_initialize(self: holoscan.gxf._gxf.GXFComponent) → None
Initialize the component.
- property gxf_typename
The GXF type name of the scheduler.
- Returns
- str
The GXF type name of the scheduler
- property id
The identifier of the component.
The identifier is initially set to -1, and will become a valid value when the component is initialized.
With the default executor (holoscan.gxf.GXFExecutor), the identifier is set to the GXF component ID.
- Returns
- idint
- initialize(self: holoscan.gxf._gxf.GXFScheduler) → None
Initialize the scheduler.
- property max_duration_ms
- property name
The name of the scheduler.
- Returns
- namestr
- setup(self: holoscan.core._core.Scheduler, arg0: holoscan.core._core.ComponentSpec) → None
setup method for the scheduler.
- property spec
- property stop_on_deadlock
- property stop_on_deadlock_timeout
- class holoscan.schedulers.MultiThreadScheduler
Bases:
holoscan.gxf._gxf.GXFScheduler
,holoscan.core._core.Component
,holoscan.gxf._gxf.GXFComponent
Multi-thread scheduler class.
Attributes
args
The list of arguments associated with the component. description
YAML formatted string describing the component. fragment
Fragment that the scheduler belongs to. gxf_cid
The GXF component ID. gxf_cname
The name of the component. gxf_context
The GXF context of the component. gxf_eid
The GXF entity ID. gxf_typename
The GXF type name of the scheduler. id
The identifier of the component. name
The name of the scheduler. check_recession_period_ms clock max_duration_ms spec stop_on_deadlock stop_on_deadlock_timeout worker_thread_number Methods
add_arg
(*args, **kwargs)Overloaded function. gxf_initialize
(self)Initialize the component. initialize
(self)Initialize the scheduler. setup
(self, arg0)setup method for the scheduler. - __init__(self: holoscan.schedulers._schedulers.MultiThreadScheduler, fragment: holoscan.core._core.Fragment, *, clock: holoscan.resources._resources.Clock = None, worker_thread_number: int = 1, stop_on_deadlock: bool = True, check_recession_period_ms: float = 5.0, max_duration_ms: int = - 1, stop_on_deadlock_timeout: int = 0, name: str = 'multithread_scheduler') → None
Multi-thread scheduler
- Parameters
- fragmentFragment
The fragment the condition will be associated with
- clockholoscan.resources.Clock or None, optional
The clock used by the scheduler to define the flow of time. If None, a default-constructed holoscan.resources.RealtimeClock will be used.
- worker_thread_numberint
The number of worker threads.
- stop_on_deadlockbool, optional
If enabled the scheduler will stop when all entities are in a waiting state, but no periodic entity exists to break the dead end. Should be disabled when scheduling conditions can be changed by external actors, for example by clearing queues manually.
- check_recession_period_msfloat, optional
The maximum duration for which the scheduler would wait (in ms) when an operator is not ready to run yet.
- max_duration_msint, optional
The maximum duration for which the scheduler will execute (in ms). If not specified (or if a negative value is provided), the scheduler will run until all work is done. If periodic terms are present, this means the application will run indefinitely.
- stop_on_deadlock_timeoutint, optional
The scheduler will wait this amount of time before determining that it is in deadlock and should stop. It will reset if a job comes in during the wait. A negative value means not stop on deadlock. This parameter only applies when stop_on_deadlock=true”,
- namestr, optional
The name of the scheduler.
- add_arg(*args, **kwargs)
Overloaded function.
add_arg(self: holoscan.core._core.Component, arg: holoscan.core._core.Arg) -> None
Add an argument to the component.
add_arg(self: holoscan.core._core.Component, arg: holoscan.core._core.ArgList) -> None
Add a list of arguments to the component.
- property args
The list of arguments associated with the component.
- Returns
- arglistholoscan.core.ArgList
- property check_recession_period_ms
- property clock
- property description
YAML formatted string describing the component.
- property fragment
Fragment that the scheduler belongs to.
- Returns
- nameholoscan.core.Fragment
- property gxf_cid
The GXF component ID.
- property gxf_cname
The name of the component.
- property gxf_context
The GXF context of the component.
- property gxf_eid
The GXF entity ID.
- gxf_initialize(self: holoscan.gxf._gxf.GXFComponent) → None
Initialize the component.
- property gxf_typename
The GXF type name of the scheduler.
- Returns
- str
The GXF type name of the scheduler
- property id
The identifier of the component.
The identifier is initially set to -1, and will become a valid value when the component is initialized.
With the default executor (holoscan.gxf.GXFExecutor), the identifier is set to the GXF component ID.
- Returns
- idint
- initialize(self: holoscan.gxf._gxf.GXFScheduler) → None
Initialize the scheduler.
- property max_duration_ms
- property name
The name of the scheduler.
- Returns
- namestr
- setup(self: holoscan.core._core.Scheduler, arg0: holoscan.core._core.ComponentSpec) → None
setup method for the scheduler.
- property spec
- property stop_on_deadlock
- property stop_on_deadlock_timeout
- property worker_thread_number