Skip to content

dispatch_types.h

Source: samples/common/dispatch/dispatch_types.h

Core types and scheduling policies for dispatch graph execution.

Defines the data structures shared by all dispatch runners. Scheduling policies are data-driven: each node's release_policy and time_dep_mode control execution behavior, making the scheduler network-agnostic. When absent from JSON, InferSchedulingPolicies() applies backwards-compatible heuristics based on job_name.


Structs

DispatchNode

A single dispatch unit in the execution graph.

Holds identity, scheduling metadata, dependency edges, VMFB paths, and per-node runtime statistics. Populated from JSON and optionally enriched by InferSchedulingPolicies() and ExpandAllPredecessors().

Members

Name Type Description
key std::string
id int
ordinal int
total int
hardware_target HardwareTarget
start_time_ms double
planned_duration_ms double
job_name std::string
module_name std::string
time_dependency std::string
release_policy ReleasePolicy
time_dep_mode TimeDependencyMode
policies_from_json bool
deps std::vector< std::string >
all_predecessors std::vector< std::string >
vmfb_path_json std::string
vmfb_path_resolved std::string
run_stats RunningStats

GraphModel

Top-level model holding all dispatch nodes and graph metadata.

Members

Name Type Description
nodes std::vector<DispatchNode>
dispatch_vmfb_dir_from_json std::string
makespan_ms double