pub struct DeviceManager { /* private fields */ }Expand description
Device manager for automatic device selection and optimization
Implementations§
Source§impl DeviceManager
impl DeviceManager
Sourcepub fn initialize() -> Result<&'static DeviceManager>
pub fn initialize() -> Result<&'static DeviceManager>
Initialize device manager with automatic device detection
Sourcepub fn global() -> Result<&'static DeviceManager>
pub fn global() -> Result<&'static DeviceManager>
Get global device manager instance
Sourcepub fn current_device(&self) -> &DeviceInfo
pub fn current_device(&self) -> &DeviceInfo
Get current optimal device
Sourcepub fn available_devices(&self) -> &[DeviceInfo]
pub fn available_devices(&self) -> &[DeviceInfo]
Get all available devices
Sourcepub fn get_device(&self, device_type: &DeviceType) -> Option<&DeviceInfo>
pub fn get_device(&self, device_type: &DeviceType) -> Option<&DeviceInfo>
Get device by type
Sourcepub fn switch_device(&mut self, device_type: DeviceType) -> Result<()>
pub fn switch_device(&mut self, device_type: DeviceType) -> Result<()>
Switch to a specific device type
Sourcepub fn optimal_batch_size(&self, base_batch_size: usize) -> usize
pub fn optimal_batch_size(&self, base_batch_size: usize) -> usize
Get optimal batch size for current device
Sourcepub fn supports_half_precision(&self) -> bool
pub fn supports_half_precision(&self) -> bool
Check if device supports half precision
Auto Trait Implementations§
impl Freeze for DeviceManager
impl RefUnwindSafe for DeviceManager
impl Send for DeviceManager
impl Sync for DeviceManager
impl Unpin for DeviceManager
impl UnsafeUnpin for DeviceManager
impl UnwindSafe for DeviceManager
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.