pub struct TPUDeviceInfo {
pub device_id: usize,
pub device_type: TPUDeviceType,
pub core_count: usize,
pub memory_size: f64,
pub peak_flops: f64,
pub memory_bandwidth: f64,
pub supports_bfloat16: bool,
pub supports_complex: bool,
pub xla_version: String,
}Expand description
TPU device information
Fields§
§device_id: usizeDevice ID
device_type: TPUDeviceTypeDevice type
core_count: usizeCore count
memory_size: f64Memory size (GB)
peak_flops: f64Peak FLOPS (operations per second)
memory_bandwidth: f64Memory bandwidth (GB/s)
supports_bfloat16: boolSupports bfloat16
supports_complex: boolSupports complex arithmetic
xla_version: StringXLA version
Implementations§
Source§impl TPUDeviceInfo
impl TPUDeviceInfo
Sourcepub fn for_device_type(device_type: TPUDeviceType) -> Self
pub fn for_device_type(device_type: TPUDeviceType) -> Self
Return the published reference specifications for a given TPU type.
IMPORTANT: this is a static reference spec table (vendor datasheet
figures such as peak FLOPS), NOT a hardware-detection result. It does
not probe for, or assert the presence of, any physical TPU. The
peak_flops values are theoretical peaks used only as reference
denominators in metrics; nothing here measures an achieved rate.
Only TPUDeviceType::Simulated corresponds to something this build can
actually run: a CPU-side numerical simulation of the device math (see
TPUQuantumSimulator::new). The real-device rows exist purely as
reference data for callers that have such hardware elsewhere.
Trait Implementations§
Source§impl Clone for TPUDeviceInfo
impl Clone for TPUDeviceInfo
Source§fn clone(&self) -> TPUDeviceInfo
fn clone(&self) -> TPUDeviceInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TPUDeviceInfo
impl RefUnwindSafe for TPUDeviceInfo
impl Send for TPUDeviceInfo
impl Sync for TPUDeviceInfo
impl Unpin for TPUDeviceInfo
impl UnsafeUnpin for TPUDeviceInfo
impl UnwindSafe for TPUDeviceInfo
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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
impl<T> Read<Exclusive, BecauseExclusive> 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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.