pub enum DeviceSelection {
Auto,
Cpu,
Cuda(usize),
Metal(usize),
}Expand description
Strategy for selecting a compute device.
Variants§
Auto
Automatically select the best available device (CUDA → Metal → CPU).
Cpu
Force CPU execution.
Cuda(usize)
Force CUDA execution on the specified GPU ordinal.
Metal(usize)
Force Metal execution on the specified GPU ordinal.
Implementations§
Source§impl DeviceSelection
impl DeviceSelection
Sourcepub fn resolve(&self) -> Result<Device>
pub fn resolve(&self) -> Result<Device>
Resolve this selection into a concrete candle Device.
For DeviceSelection::Auto, the priority is:
- CUDA (if
cudafeature enabled and device available) - Metal (if
metalfeature enabled and device available) - CPU (always available)
Sourcepub fn preferred_runtime_candidates() -> Vec<Self>
pub fn preferred_runtime_candidates() -> Vec<Self>
Preferred runtime candidates for the current binary, ordered fastest-first.
Sourcepub fn available_runtime_candidates() -> Vec<Self>
pub fn available_runtime_candidates() -> Vec<Self>
Runtime candidates that successfully resolve on the current machine.
Trait Implementations§
Source§impl Clone for DeviceSelection
impl Clone for DeviceSelection
Source§fn clone(&self) -> DeviceSelection
fn clone(&self) -> DeviceSelection
Returns a duplicate of the value. Read more
1.0.0 · 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 DeviceSelection
impl Debug for DeviceSelection
Source§impl Default for DeviceSelection
impl Default for DeviceSelection
Source§fn default() -> DeviceSelection
fn default() -> DeviceSelection
Returns the “default value” for a type. Read more
Source§impl PartialEq for DeviceSelection
impl PartialEq for DeviceSelection
impl Copy for DeviceSelection
impl Eq for DeviceSelection
impl StructuralPartialEq for DeviceSelection
Auto Trait Implementations§
impl Freeze for DeviceSelection
impl RefUnwindSafe for DeviceSelection
impl Send for DeviceSelection
impl Sync for DeviceSelection
impl Unpin for DeviceSelection
impl UnsafeUnpin for DeviceSelection
impl UnwindSafe for DeviceSelection
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
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