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_t | unitCount() const |
| bool | hasUnit(const std::string & name) const |
| const UnitConfig * | getUnit(const std::string & name) const Returns nullptr if not found. |
| size_t | connectionCount() const |
| void | clear() |
Public Attributes
| Name | |
|---|---|
| std::unordered_map< std::string, UnitConfig > | units Keyed by instance name (path) used for port resolution. |
| bool | trace_execution Print execution policy details. |
| SchedulerTimelineTraceConfig | timeline_trace |
| uint64_t | tick_frequency_hz Default 1 GHz. |
| double | sa_critical_path_weight 0 disables the SA critical-path term. |
| uint64_t | run_cycles 0 = run until completion. |
| double | rebalance_min_gain |
| double | rebalance_imbalance_threshold |
| uint64_t | rebalance_cooldown_cycles |
| uint64_t | rebalance_check_interval_cycles |
| uint64_t | profiling_warmup_cycles |
| uint64_t | profiling_measurement_cycles |
| std::string | partition_solver |
| std::optional< observe::ObservationYAMLConfig > | observation Builder auto-creates observation contexts when present and enabled. |
| uint32_t | num_workers |
| std::string | name |
| uint32_t | max_lookahead_cycles |
| uint64_t | epoch_size Synchronization period in cycles. |
| bool | enable_weighted_partitioning |
| bool | enable_parallel |
| bool | enable_lookahead |
| bool | enable_dynamic_rebalance |
| bool | deterministic_partitioning Skip live profile; use constant costs. |
| std::string | cost_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