pub enum Device {
Cpu,
Cuda(CudaDevice),
Metal(MetalDevice),
}
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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