Top | ![]() |
![]() |
![]() |
![]() |
|
ufo_base_scheduler_run () |
|
ufo_base_scheduler_set_resources () |
UfoResources * | ufo_base_scheduler_get_resources () |
|
ufo_base_scheduler_set_gpu_nodes () |
|
ufo_base_scheduler_error_quark () |
enable-tracing | Read / Write | |
expand | Read / Write | |
time | Read | |
timestamps | Read / Write |
#define | UFO_BASE_SCHEDULER_ERROR |
enum | UfoBaseSchedulerError |
struct | UfoBaseScheduler |
struct | UfoBaseSchedulerClass |
GObject ╰── UfoBaseScheduler ├── UfoFixedScheduler ├── UfoGroupScheduler ├── UfoLocalScheduler ╰── UfoScheduler
This is the base interface of a scheduler. By itself, it cannot execute any UfoTaskGraph.
void ufo_base_scheduler_run (UfoBaseScheduler *scheduler
,UfoTaskGraph *task_graph
,);
GError **error
void ufo_base_scheduler_set_resources (UfoBaseScheduler *scheduler
,UfoResources *resources
);
Assigns resources
to scheduler
for specific use cases.
UfoResources * ufo_base_scheduler_get_resources (UfoBaseScheduler *scheduler
,);
GError **error
Get the current UfoResources currently associated with scheduler
.
void ufo_base_scheduler_set_gpu_nodes (UfoBaseScheduler *scheduler
,);
GList *gpu_nodes
Sets the GPU nodes that scheduler
can only use. Note, that the UfoGpuNode
objects must be from the same ufo_base_scheduler_get_resources()
.
struct UfoBaseScheduler;
The base class scheduler is responsible of assigning command queues to filters (thus managing GPU device resources) and decide if to run a GPU or a CPU. The actual schedule planning can be overriden.
“enable-tracing”
property“enable-tracing”gboolean
Enable and write profile traces.
Flags: Read / Write
Default value: FALSE
“expand”
property“expand”gboolean
Expand the task graph for better multi GPU performance.
Flags: Read / Write
Default value: TRUE
“time”
property“time”gdouble
Finished execution time in seconds.
Flags: Read
Allowed values: >= 0
Default value: 0