Skip to main content

DispatchPolicyVerdict

Struct DispatchPolicyVerdict 

Source
pub struct DispatchPolicyVerdict {
    pub persistent: PersistentKernelDecision,
    pub arm_independence: ArmIndependenceVerdict,
    pub copy_overlap: Option<CopyOverlapDecision>,
    pub command_reuse: CommandReuseDecision,
    pub bindless: BindlessDecision,
    pub trace_jit: TraceJitDecision,
}
Expand description

Result bundle from a single dispatch-policy invocation. Every sub-substrate verdict appears in its typed form.

Fields§

§persistent: PersistentKernelDecision

D1 persistent-kernel verdict.

§arm_independence: ArmIndependenceVerdict

D2 arm-independence verdict for the (arm_a, arm_b) pair.

§copy_overlap: Option<CopyOverlapDecision>

None when the inputs had no copy_dst_slot; otherwise the D3 substrate’s verdict for that copy.

§command_reuse: CommandReuseDecision

D4 command-reuse verdict.

§bindless: BindlessDecision

D9 bindless verdict.

§trace_jit: TraceJitDecision

I2 trace-JIT speculation verdict.

Implementations§

Source§

impl DispatchPolicyVerdict

Source

pub fn primary_execution_mode(&self) -> DispatchExecutionMode

Return the mutually exclusive primary launch strategy.

D1 persistent kernels and D4 command reuse can both be profitable on paper. A concrete dispatcher cannot run both for the same launch group, so this resolver chooses the higher predicted savings. Equal savings prefer command reuse because it avoids persistent queue residency.

Trait Implementations§

Source§

impl Clone for DispatchPolicyVerdict

Source§

fn clone(&self) -> DispatchPolicyVerdict

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DispatchPolicyVerdict

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more