#[non_exhaustive]pub struct ExecutionProfile {
pub accelerator: Accelerator,
pub ranks: usize,
pub threads_per_rank: usize,
}Expand description
Language-neutral execution request.
ranks > 1 denotes a distributed run. Each rank may in turn use the
requested accelerator and number of host threads.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.accelerator: AcceleratorCompute device requested for each rank.
ranks: usizeNumber of cooperating process ranks.
threads_per_rank: usizeHost threads available to each rank.
Implementations§
Source§impl ExecutionProfile
impl ExecutionProfile
Sourcepub const fn throughput(threads: usize) -> Self
pub const fn throughput(threads: usize) -> Self
Request bounded host parallelism for independent work items.
Sourcepub const fn distributed_cpu(ranks: usize, threads_per_rank: usize) -> Self
pub const fn distributed_cpu(ranks: usize, threads_per_rank: usize) -> Self
Request a distributed CPU run.
The built-in runtime rejects this profile until an MPI implementation
of Runtime is installed.
Trait Implementations§
Source§impl Clone for ExecutionProfile
impl Clone for ExecutionProfile
Source§fn clone(&self) -> ExecutionProfile
fn clone(&self) -> ExecutionProfile
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExecutionProfile
impl Debug for ExecutionProfile
Source§impl PartialEq for ExecutionProfile
impl PartialEq for ExecutionProfile
Source§fn eq(&self, other: &ExecutionProfile) -> bool
fn eq(&self, other: &ExecutionProfile) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for ExecutionProfile
impl Eq for ExecutionProfile
impl StructuralPartialEq for ExecutionProfile
Auto Trait Implementations§
impl Freeze for ExecutionProfile
impl RefUnwindSafe for ExecutionProfile
impl Send for ExecutionProfile
impl Sync for ExecutionProfile
impl Unpin for ExecutionProfile
impl UnsafeUnpin for ExecutionProfile
impl UnwindSafe for ExecutionProfile
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.