pub enum MemoryPlacement {
GpuLocal,
HostVisible,
NpuLocal(NpuProgram),
Shared(NpuProgram),
}Expand description
Explicit storage placement. Shared storage requires a resident NPU program to create its device mapping once, before execution.
Variants§
GpuLocal
GPU pool memory for GPU-only work.
HostVisible
Coherent host-local memory mapped for guarded CPU access and GPU copies. Does not require an NPU or its runtime.
NpuLocal(NpuProgram)
NPU host-only memory, bound to the program’s host memory group.
One exportable GPU allocation, imported into the NPU without copying.
Trait Implementations§
Source§impl Clone for MemoryPlacement
impl Clone for MemoryPlacement
Source§fn clone(&self) -> MemoryPlacement
fn clone(&self) -> MemoryPlacement
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MemoryPlacement
impl RefUnwindSafe for MemoryPlacement
impl Send for MemoryPlacement
impl Sync for MemoryPlacement
impl Unpin for MemoryPlacement
impl UnsafeUnpin for MemoryPlacement
impl UnwindSafe for MemoryPlacement
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> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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