DeviceType

Enum DeviceType 

Source
pub enum DeviceType {
    Cpu,
    Cuda,
}
Expand description

Device types supported by Train Station

This enum represents the different types of devices where tensor operations can be performed. Currently supports CPU and CUDA GPU devices.

§Variants

  • Cpu - CPU device for general-purpose computation
  • Cuda - CUDA GPU device for accelerated computation (feature-gated)

§Examples

use train_station::{DeviceType, Device};

let cpu_type = DeviceType::Cpu;
let cpu_device = Device::from(cpu_type);
assert!(cpu_device.is_cpu());

#[cfg(feature = "cuda")]
{
    let cuda_type = DeviceType::Cuda;
    let cuda_device = Device::from(cuda_type);
    assert!(cuda_device.is_cuda());
}

§Thread Safety

This type is thread-safe and can be shared between threads.

Variants§

§

Cpu

CPU device for general-purpose computation

§

Cuda

CUDA GPU device for accelerated computation (feature-gated)

Trait Implementations§

Source§

impl Clone for DeviceType

Source§

fn clone(&self) -> DeviceType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DeviceType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for DeviceType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Format the device type as a string

§Returns

String representation of the device type:

  • "cpu" for CPU devices
  • "cuda" for CUDA devices
Source§

impl From<DeviceType> for Device

Source§

fn from(device_type: DeviceType) -> Self

Convert DeviceType to Device with index 0

§Arguments
  • device_type - The device type to convert
§Returns

A Device with the specified type and index 0

§Panics

Panics if device_type is DeviceType::Cuda and CUDA is not available or the feature is not enabled.

§Examples
use train_station::{Device, DeviceType};

let cpu_type = DeviceType::Cpu;
let cpu_device = Device::from(cpu_type);
assert!(cpu_device.is_cpu());
assert_eq!(cpu_device.index(), 0);
Source§

impl FromFieldValue for DeviceType

Source§

fn from_field_value( value: FieldValue, field_name: &str, ) -> SerializationResult<Self>

Convert FieldValue to DeviceType for deserialization

§Arguments
  • value - FieldValue containing enum data
  • field_name - Name of the field for error reporting
§Returns

DeviceType enum value or error if invalid

Source§

impl Hash for DeviceType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for DeviceType

Source§

fn eq(&self, other: &DeviceType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl ToFieldValue for DeviceType

Source§

fn to_field_value(&self) -> FieldValue

Convert DeviceType to FieldValue for serialization

§Returns

Enum FieldValue with variant name (proper enum serialization)

Source§

impl Copy for DeviceType

Source§

impl Eq for DeviceType

Source§

impl StructuralPartialEq for DeviceType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.