Skip to main content

chronon::sender::config::SimulationYAMLConfig

Top-level YAML simulation config: settings, observation, units, connections. More...

#include <SenderUnitConfig.hpp>

Public Functions

Name
std::vector< std::string >unitNames() const
size_tunitCount() const
boolhasUnit(const std::string & name) const
const UnitConfig *getUnit(const std::string & name) const
Returns nullptr if not found.
size_tconnectionCount() const
voidclear()

Public Attributes

Name
std::unordered_map< std::string, UnitConfig >units
Keyed by instance name (path) used for port resolution.
booltrace_execution
Print execution policy details.
SchedulerTimelineTraceConfigtimeline_trace
uint64_ttick_frequency_hz
Default 1 GHz.
doublesa_critical_path_weight
0 disables the SA critical-path term.
uint64_trun_cycles
0 = run until completion.
doublerebalance_min_gain
doublerebalance_imbalance_threshold
uint64_trebalance_cooldown_cycles
uint64_trebalance_check_interval_cycles
uint64_tprofiling_warmup_cycles
uint64_tprofiling_measurement_cycles
std::stringpartition_solver
std::optional< observe::ObservationYAMLConfig >observation
Builder auto-creates observation contexts when present and enabled.
uint32_tnum_workers
std::stringname
uint32_tmax_lookahead_cycles
uint64_tepoch_size
Synchronization period in cycles.
boolenable_weighted_partitioning
boolenable_parallel
boolenable_lookahead
boolenable_dynamic_rebalance
booldeterministic_partitioning
Skip live profile; use constant costs.
std::stringcost_profile_cache_path
Empty = disabled.
std::vector< PortConnectionSpec >connections

Detailed Description

struct chronon::sender::config::SimulationYAMLConfig;

Top-level YAML simulation config: settings, observation, units, connections.

Example: ```yaml

simulation: num_workers: 4 epoch_size: 64 unit: fetch: type: FetchUnit params: { max_instructions: 100 } port: { out_instr: { to: decode.in_instr, delay: 1 } }


## Public Functions Documentation

### function unitNames

```cpp
inline std::vector< std::string > unitNames() const

function unitCount

inline size_t unitCount() const

function hasUnit

inline bool hasUnit(
const std::string & name
) const

function getUnit

inline const UnitConfig * getUnit(
const std::string & name
) const

Returns nullptr if not found.

function connectionCount

inline size_t connectionCount() const

function clear

inline void clear()

Public Attributes Documentation

variable units

std::unordered_map< std::string, UnitConfig > units;

Keyed by instance name (path) used for port resolution.

variable trace_execution

bool trace_execution = false;

Print execution policy details.

variable timeline_trace

SchedulerTimelineTraceConfig timeline_trace;

variable tick_frequency_hz

uint64_t tick_frequency_hz = 1'000'000'000;

Default 1 GHz.

variable sa_critical_path_weight

double sa_critical_path_weight = 0.0;

0 disables the SA critical-path term.

variable run_cycles

uint64_t run_cycles = 0;

0 = run until completion.

variable rebalance_min_gain

double rebalance_min_gain = 0.05;

variable rebalance_imbalance_threshold

double rebalance_imbalance_threshold = 1.3;

variable rebalance_cooldown_cycles

uint64_t rebalance_cooldown_cycles = 0;

variable rebalance_check_interval_cycles

uint64_t rebalance_check_interval_cycles = 8192;

variable profiling_warmup_cycles

uint64_t profiling_warmup_cycles = 512;

variable profiling_measurement_cycles

uint64_t profiling_measurement_cycles = 1024;

variable partition_solver

std::string partition_solver = "Weighted";

variable observation

std::optional< observe::ObservationYAMLConfig > observation;

Builder auto-creates observation contexts when present and enabled.

variable num_workers

uint32_t num_workers = 4;

variable name

std::string name = "simulation";

variable max_lookahead_cycles

uint32_t max_lookahead_cycles = 100;

variable epoch_size

uint64_t epoch_size = 64;

Synchronization period in cycles.

variable enable_weighted_partitioning

bool enable_weighted_partitioning = true;

variable enable_parallel

bool enable_parallel = true;

variable enable_lookahead

bool enable_lookahead = true;

variable enable_dynamic_rebalance

bool enable_dynamic_rebalance = true;

variable deterministic_partitioning

bool deterministic_partitioning = false;

Skip live profile; use constant costs.

variable cost_profile_cache_path

std::string cost_profile_cache_path;

Empty = disabled.

variable connections

std::vector< PortConnectionSpec > connections;

Updated on 2026-05-26 at 05:42:32 +0000