Struct CpuThreadPool
pub struct CpuThreadPool { /* private fields */ }Description
One run-owned bounded host thread pool.
Implementations§
§impl CpuThreadPool
impl CpuThreadPool
pub fn from_deployment(
binding: &DeploymentBinding,
) -> Result<CpuThreadPool, Diagnostic>
pub fn from_deployment( binding: &DeploymentBinding, ) -> Result<CpuThreadPool, Diagnostic>
Materialize the exact Rayon placement admitted by a deployment binding.
The binding is deliberately created before this call, so insufficient executor capacity cannot allocate worker threads as a side effect.
§Errors
Returns EQ0807 unless the binding selected the Rayon adapter and a
host topology, or if the operating system cannot create the pool.
pub fn new(workers: NonZero<usize>) -> Result<CpuThreadPool, Diagnostic>
pub fn new(workers: NonZero<usize>) -> Result<CpuThreadPool, Diagnostic>
Build an isolated pool without modifying Rayon’s global pool.
§Errors
Returns EQ0807 if the operating system cannot create the requested
worker pool.
pub const fn workers(&self) -> NonZero<usize>
pub const fn workers(&self) -> NonZero<usize>
Exact number of worker threads owned by this pool.
pub fn target_capabilities(&self) -> TargetCapabilities
pub fn target_capabilities(&self) -> TargetCapabilities
Host placement capability admitted by this concrete pool.
pub fn solver<'a>(
&'a self,
target: Target,
backend: &'a dyn LinearSolverBackend,
) -> Result<ThreadedLinearSolver<'a>, Diagnostic>
pub fn solver<'a>( &'a self, target: Target, backend: &'a dyn LinearSolverBackend, ) -> Result<ThreadedLinearSolver<'a>, Diagnostic>
Compose this exact pool with one resolved host target and solver.
§Errors
Returns EQ0807 unless the resolved target requests exactly the worker
count owned by this pool. A pool is not silently widened or narrowed.
pub fn assembler(
&self,
target: Target,
) -> Result<RayonAssemblyBackend<'_>, Diagnostic>
pub fn assembler( &self, target: Target, ) -> Result<RayonAssemblyBackend<'_>, Diagnostic>
Bind ordered assembly to this exact run-owned pool and resolved target.
§Errors
Returns EQ0807 unless the target is host CPU execution with exactly
the worker count owned by this pool.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CpuThreadPool
impl !RefUnwindSafe for CpuThreadPool
impl Send for CpuThreadPool
impl Sync for CpuThreadPool
impl Unpin for CpuThreadPool
impl UnsafeUnpin for CpuThreadPool
impl !UnwindSafe for CpuThreadPool
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.