DiffEq - Modern C++ ODE Integration Library 1.0.0
High-performance C++ library for solving ODEs with async signal processing
Loading...
Searching...
No Matches
diffeq::core::composable::SDEThreadingConfig Struct Reference

Configuration for high-performance SDE threading. More...

#include <sde_multithreading.hpp>

Collaboration diagram for diffeq::core::composable::SDEThreadingConfig:

Public Member Functions

void validate () const
 Validate configuration.
 

Static Public Member Functions

static SDEThreadingConfig auto_detect ()
 Auto-detect optimal configuration.
 

Public Attributes

SDEThreadingMode threading_mode {SDEThreadingMode::MULTI_THREAD}
 
MemoryStrategy memory_strategy {MemoryStrategy::CACHE_ALIGNED}
 
size_t num_threads {0}
 
size_t num_fibers {1000}
 
size_t batch_size {1000}
 
size_t queue_size {10000}
 
bool enable_simd {true}
 
bool enable_prefetching {true}
 
bool pin_threads {false}
 
bool use_huge_pages {false}
 
bool numa_aware {false}
 
std::vector< int > numa_nodes
 
bool enable_batch_generation {true}
 
bool enable_precomputation {true}
 
size_t precompute_buffer_size {100000}
 

Detailed Description

Configuration for high-performance SDE threading.

Definition at line 60 of file sde_multithreading.hpp.

Member Function Documentation

◆ auto_detect()

static SDEThreadingConfig diffeq::core::composable::SDEThreadingConfig::auto_detect ( )
inlinestatic

Auto-detect optimal configuration.

Definition at line 109 of file sde_multithreading.hpp.

◆ validate()

void diffeq::core::composable::SDEThreadingConfig::validate ( ) const
inline

Validate configuration.

Definition at line 88 of file sde_multithreading.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ batch_size

size_t diffeq::core::composable::SDEThreadingConfig::batch_size {1000}

Definition at line 67 of file sde_multithreading.hpp.

◆ enable_batch_generation

bool diffeq::core::composable::SDEThreadingConfig::enable_batch_generation {true}

Definition at line 81 of file sde_multithreading.hpp.

◆ enable_precomputation

bool diffeq::core::composable::SDEThreadingConfig::enable_precomputation {true}

Definition at line 82 of file sde_multithreading.hpp.

◆ enable_prefetching

bool diffeq::core::composable::SDEThreadingConfig::enable_prefetching {true}

Definition at line 72 of file sde_multithreading.hpp.

◆ enable_simd

bool diffeq::core::composable::SDEThreadingConfig::enable_simd {true}

Definition at line 71 of file sde_multithreading.hpp.

◆ memory_strategy

MemoryStrategy diffeq::core::composable::SDEThreadingConfig::memory_strategy {MemoryStrategy::CACHE_ALIGNED}

Definition at line 62 of file sde_multithreading.hpp.

◆ num_fibers

size_t diffeq::core::composable::SDEThreadingConfig::num_fibers {1000}

Definition at line 66 of file sde_multithreading.hpp.

◆ num_threads

size_t diffeq::core::composable::SDEThreadingConfig::num_threads {0}

Definition at line 65 of file sde_multithreading.hpp.

◆ numa_aware

bool diffeq::core::composable::SDEThreadingConfig::numa_aware {false}

Definition at line 77 of file sde_multithreading.hpp.

◆ numa_nodes

std::vector<int> diffeq::core::composable::SDEThreadingConfig::numa_nodes

Definition at line 78 of file sde_multithreading.hpp.

◆ pin_threads

bool diffeq::core::composable::SDEThreadingConfig::pin_threads {false}

Definition at line 73 of file sde_multithreading.hpp.

◆ precompute_buffer_size

size_t diffeq::core::composable::SDEThreadingConfig::precompute_buffer_size {100000}

Definition at line 83 of file sde_multithreading.hpp.

◆ queue_size

size_t diffeq::core::composable::SDEThreadingConfig::queue_size {10000}

Definition at line 68 of file sde_multithreading.hpp.

◆ threading_mode

SDEThreadingMode diffeq::core::composable::SDEThreadingConfig::threading_mode {SDEThreadingMode::MULTI_THREAD}

Definition at line 61 of file sde_multithreading.hpp.

◆ use_huge_pages

bool diffeq::core::composable::SDEThreadingConfig::use_huge_pages {false}

Definition at line 74 of file sde_multithreading.hpp.


The documentation for this struct was generated from the following file: