pub struct Plan {
pub backend: BackendId,
pub circuit_kind: CircuitKind,
pub precision: Precision,
pub tiles: u32,
pub zero_copy: ZeroCopyStrategy,
}Expand description
The resolved execution plan for one kernel dispatch. Copy, zero-heap — it
names the backend/circuit and the precision/tiling/transfer policy, all of which
are small scalars. The human-readable circuit label stays in the matrix.
Fields§
§backend: BackendIdWhich acceleration method to run on ("cpu", "wgpu", …).
circuit_kind: CircuitKindThe circuit class chosen (discrete GPU / iGPU / CPU / NPU).
precision: PrecisionNumeric precision to use (from the host’s VRAM/power/thermal envelope).
tiles: u32Number of sequential tiles a GPU job is split into so each fits in VRAM (graceful degradation, never an OOM hard-fail). 1 on CPU or when it fits.
zero_copy: ZeroCopyStrategyHow data reaches the device (mmap-direct on unified memory, else staging).
Implementations§
Trait Implementations§
impl Copy for Plan
impl StructuralPartialEq for Plan
Auto Trait Implementations§
impl Freeze for Plan
impl RefUnwindSafe for Plan
impl Send for Plan
impl Sync for Plan
impl Unpin for Plan
impl UnsafeUnpin for Plan
impl UnwindSafe for Plan
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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