Skip to main content

OxiblasThreadConfig

Struct OxiblasThreadConfig 

Source
pub struct OxiblasThreadConfig {
    pub num_threads: usize,
    pub stack_size: usize,
    pub thread_name: Option<String>,
}
Expand description

Configuration for the OxiBLAS thread pool.

OxiblasThreadConfig gathers all knobs that influence how OxiBLAS chooses threads for parallel operations. Build one with the fluent builder methods, then apply it via set_global_thread_pool or with_thread_count.

§Example

use oxiblas_core::parallel::OxiblasThreadConfig;

let cfg = OxiblasThreadConfig::new()
    .num_threads(4)
    .stack_size(2 * 1024 * 1024);
println!("threads: {}", cfg.num_threads);

Fields§

§num_threads: usize

Number of worker threads. 0 means “use all logical CPUs”.

§stack_size: usize

Per-thread stack size in bytes. 0 means “use OS default”.

§thread_name: Option<String>

Human-readable name prefix for spawned threads.

Implementations§

Source§

impl OxiblasThreadConfig

Source

pub fn new() -> Self

Creates a new configuration with all defaults.

Source

pub fn num_threads(self, n: usize) -> Self

Sets the desired thread count. Pass 0 for “all CPUs”.

Source

pub fn stack_size(self, bytes: usize) -> Self

Sets the per-thread stack size. Pass 0 for the OS default.

Source

pub fn thread_name(self, name: impl Into<String>) -> Self

Sets a human-readable name prefix for spawned threads.

Source

pub fn effective_threads(&self) -> usize

Returns the effective thread count, substituting the available logical CPU count when num_threads is 0.

Trait Implementations§

Source§

impl Clone for OxiblasThreadConfig

Source§

fn clone(&self) -> OxiblasThreadConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OxiblasThreadConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for OxiblasThreadConfig

Source§

fn default() -> OxiblasThreadConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.