Skip to content

DagScheduler::Config

#include <xalgospp/scheduling/dag_scheduler.hh>
struct Config

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:177

Name Kind Owner
num_numa_nodes variable Declared here
threads_per_node variable Declared here
enable_pinning variable Declared here
max_concurrent_high_mem variable Declared here
max_concurrency_multiplier variable Declared here
enable_dynamic_backpressure variable Declared here
enable_autotuning variable Declared here
raw_frame_size_bytes variable Declared here
warmup_submissions variable Declared here
node_memory_bandwidth_limit_gbps variable Declared here
percent_bandwidth_is_high_mem variable Declared here
Return Name Description
std::size_t num_numa_nodes The total number of NUMA nodes available. 0 means to auto-detect.
std::size_t threads_per_node Threads to allocate per NUMA node. 0 means to map to physical cores.
bool enable_pinning Whether to allow pinning of tasks to specific cores.
std::size_t max_concurrent_high_mem The threshold at which throttling will begin for high-memory-bandwidth tasks.
std::size_t max_concurrency_multiplier A generalized concurrency limit for suspension of generator Tasks (if enabled).
bool enable_dynamic_backpressure Whether back pressure monitoring for generator Tasks should be enabled.
bool enable_autotuning Allow the Scheduler to automatically determine resource and queue parameters.
std::size_t raw_frame_size_bytes Raw frame size used for auto-tuning. Auto-determined if set to 0.
std::size_t warmup_submissions When autotuning, the number of DAG submissions used for warmup before timing.
double node_memory_bandwidth_limit_gbps The peak memory bandwidth, per NUMA node.
double percent_bandwidth_is_high_mem Percentage of total bandwidth usage to classify as “high memory” (memory-bound).

std::size_t num_numa_nodes { 0 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:181

The total number of NUMA nodes available. 0 means to auto-detect.


std::size_t threads_per_node { 0 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:185

Threads to allocate per NUMA node. 0 means to map to physical cores.


bool enable_pinning { true }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:189

Whether to allow pinning of tasks to specific cores.


std::size_t max_concurrent_high_mem { 2 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:193

The threshold at which throttling will begin for high-memory-bandwidth tasks.


std::size_t max_concurrency_multiplier { 8 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:197

A generalized concurrency limit for suspension of generator Tasks (if enabled).


bool enable_dynamic_backpressure { true }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:201

Whether back pressure monitoring for generator Tasks should be enabled.


bool enable_autotuning { true }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:205

Allow the Scheduler to automatically determine resource and queue parameters.


std::size_t raw_frame_size_bytes { 0 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:209

Raw frame size used for auto-tuning. Auto-determined if set to 0.


std::size_t warmup_submissions { 5 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:213

When autotuning, the number of DAG submissions used for warmup before timing.


double node_memory_bandwidth_limit_gbps { 50.0 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:217

The peak memory bandwidth, per NUMA node.


double percent_bandwidth_is_high_mem { 0.25 }

Defined in src/lib/xalgospp/scheduling/dag_scheduler.hh:221

Percentage of total bandwidth usage to classify as “high memory” (memory-bound).