pub struct MemoryTiers {
pub host_ram_bytes: u64,
pub device_vram_bytes: u64,
}Expand description
Per-tier memory footprint of a candidate’s placement, in bytes.
Tracked per tier (not collapsed) because which tier binds depends
on the target machine — a fast-but-VRAM-heavy path and a slow-but-
host-light path are both legitimately Pareto-optimal. Disk is
reserved for when the Layer-1 cost model grows a disk-footprint
axis; today’s CostEstimate has none, so
it stays zero.
Fields§
§host_ram_bytes: u64Host-RAM footprint (bytes) attributed to a CPU-tier placement.
device_vram_bytes: u64Device-VRAM footprint (bytes) attributed to a GPU-tier placement (CUDA / Vulkan / Metal).
Implementations§
Source§impl MemoryTiers
impl MemoryTiers
Sourcepub fn for_placement(device: DeviceLocation, bytes: u64) -> Self
pub fn for_placement(device: DeviceLocation, bytes: u64) -> Self
Attribute bytes to the tier implied by device: GPU devices
land on VRAM, the CPU on host RAM. The Layer-1 cost model has
one footprint number (bytes_moved); placement decides which
tier it loads.
Trait Implementations§
Source§impl Clone for MemoryTiers
impl Clone for MemoryTiers
impl Copy for MemoryTiers
Source§impl Debug for MemoryTiers
impl Debug for MemoryTiers
Source§impl Default for MemoryTiers
impl Default for MemoryTiers
impl Eq for MemoryTiers
Source§impl PartialEq for MemoryTiers
impl PartialEq for MemoryTiers
impl StructuralPartialEq for MemoryTiers
Auto Trait Implementations§
impl Freeze for MemoryTiers
impl RefUnwindSafe for MemoryTiers
impl Send for MemoryTiers
impl Sync for MemoryTiers
impl Unpin for MemoryTiers
impl UnsafeUnpin for MemoryTiers
impl UnwindSafe for MemoryTiers
Blanket Implementations§
impl<T> Boilerplate for T
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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