subspace_farmer::utils

Function create_plotting_thread_pool_manager

source
pub fn create_plotting_thread_pool_manager<I>(
    cpu_core_sets: I,
    thread_priority: Option<ThreadPriority>,
) -> Result<PlottingThreadPoolManager, ThreadPoolBuildError>
Expand description

Create thread pools manager.

Creates thread pool pairs for each of CPU core set pair with number of plotting and replotting threads corresponding to number of cores in each set and pins threads to all of those CPU cores (each thread to all cors in a set, not thread per core). Each thread will also have Tokio context available.

The easiest way to obtain CPUs is using all_cpu_cores, but thread_pool_core_indices in case support for user customizations is desired. They will then have to be composed into pairs for this function.