## UfoGroupScheduler

UfoGroupScheduler — Schedule according to a grouping policy

## Functions

UfoBaseScheduler * | ufo_group_scheduler_new ()
GQuark | ufo_group_scheduler_error_quark ()

## Types and Values

#define | UFO_GROUP_SCHEDULER_ERROR
enum | UfoGroupSchedulerError
struct | UfoGroupScheduler
struct | UfoGroupSchedulerClass

## Object Hierarchy

        GObject
        ╰── UfoBaseScheduler
            ╰── UfoGroupScheduler

## Implemented Interfaces

UfoGroupScheduler implements GInitable.

## Description

Unlike the UfoLocalScheduler, the UfoGroupScheduler groups the same node types together and assigns resources in a user-defined fashion. It is not recommended to use this scheduler in production.

## Functions

### ufo_group_scheduler_new ()

    UfoBaseScheduler *
    ufo_group_scheduler_new (void);

Creates a new UfoGroupScheduler.

#### Returns

A new UfoGroupScheduler

### ufo_group_scheduler_error_quark ()

    GQuark
    ufo_group_scheduler_error_quark (void);

## Types and Values

### UFO_GROUP_SCHEDULER_ERROR

    #define UFO_GROUP_SCHEDULER_ERROR            ufo_group_scheduler_error_quark()

### enum UfoGroupSchedulerError

#### Members

UFO_GROUP_SCHEDULER_ERROR_SETUP | Could not start scheduler due to error |

### struct UfoGroupScheduler

    struct UfoGroupScheduler;

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.

### struct UfoGroupSchedulerClass

    struct UfoGroupSchedulerClass {
    };

UfoGroupScheduler class