Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
MacroScheduler

Modules

 ComputeResources
 
 Implementations
 

Classes

class  gts::ComputeResource
 A ComputeResource represents a entity that can execute a Workload in a Node. More...
 
class  gts::MacroScheduler
 A MacroScheduler builds ISchedules for a set of ComputeResources from a DAG of Node. More...
 
struct  gts::MacroSchedulerDesc
 The description of a MacroSchedulerDesc to create. More...
 
struct  gts::WorkloadContext
 The context associated with the task being executed. More...
 
struct  gts::WorkloadType
 An enumeration of all supported Workload languages. More...
 
struct  gts::ComputeResourceType
 An enumeration of all supported ComputeResources. More...
 
class  gts::Node
 A Node represents a task in a generalized task DAG. It contains Workloads that are scheduled onto a ComputeResource by a MacroScheduler. More...
 
class  gts::Schedule
 The execution schedule for all ComputeResources. More...
 
class  gts::Workload
 A Workload is a base class for describing a task that can be executed by a set of ComputeResources. More...
 

Typedefs

using gts::ComputeResourceId = uint32_t
 The UID type for identifying each instantiated ComputeResouce.
 

Variables

constexpr ComputeResourceId gts::UNKNOWN_COMP_RESOURCE = UINT32_MAX
 The UID of an unknown ComputeResouce.
 
constexpr ComputeResourceId gts::ANY_COMP_RESOURCE = UNKNOWN_COMP_RESOURCE
 The UID of any ComputeResouce.
 

Detailed Description

Coarse-grained, persistent task scheduling framework.