Skip to main content

ExecutionPlanTarget

Struct ExecutionPlanTarget 

Source
pub struct ExecutionPlanTarget<B: ModelLoadingBackend> { /* private fields */ }
Expand description

One target-backend instance and retained selection realized from a portable execution plan.

The backend owns its selected device, execution queues, transfer queues, and optional communication state. The authoritative selection was completed before those resources existed and is retained unchanged for materialization.

Implementations§

Source§

impl<B: ModelLoadingBackend> ExecutionPlanTarget<B>

Source

pub fn new(backend: B, selected: SelectedExecutionPlanTarget<B>) -> Self

Creates one backend-owned realization.

Backend adapters call this from ExecutionPlanBackendFactory::realize_target. Portable identity, device, capability, and plan validation is applied by realize_execution_plan_target before the value reaches an application.

Source

pub const fn backend(&self) -> &B

Borrows the selected backend.

Source

pub fn into_runtime( self, ) -> Result<PreparedExecutionPlanTarget<B>, ExecutionPlanTargetLoadError<B>>

Materializes the retained selection and creates its inseparably paired runtime.

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.