pub enum Device {
Cpu,
Cuda(CudaDevice),
Metal(MetalDevice),
}Expand description
Cpu, Cuda, or Metal
Variants§
Implementations§
Source§impl Device
impl Device
pub fn new_cuda(ordinal: usize) -> Result<Self>
pub fn as_cuda_device(&self) -> Result<&CudaDevice>
pub fn as_metal_device(&self) -> Result<&MetalDevice>
pub fn new_cuda_with_stream(ordinal: usize) -> Result<Self>
pub fn new_metal(ordinal: usize) -> Result<Self>
pub fn set_seed(&self, seed: u64) -> Result<()>
pub fn same_device(&self, rhs: &Self) -> bool
pub fn location(&self) -> DeviceLocation
pub fn is_cpu(&self) -> bool
pub fn is_cuda(&self) -> bool
pub fn is_metal(&self) -> bool
pub fn supports_bf16(&self) -> bool
Sourcepub fn bf16_default_to_f32(&self) -> DType
pub fn bf16_default_to_f32(&self) -> DType
Return BF16 for devices that support it, otherwise default to F32.
pub fn cuda_if_available(ordinal: usize) -> Result<Self>
pub fn synchronize(&self) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Device
impl RefUnwindSafe for Device
impl Send for Device
impl Sync for Device
impl Unpin for Device
impl UnwindSafe for Device
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<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