#[non_exhaustive]pub struct AttemptComposedScheduleProjection {
pub schema: String,
pub attempt_id: AttemptId,
pub device_ordinal: usize,
pub grant_id: u64,
pub grant_bytes: u64,
pub attempt_wide_fixed_bytes: u64,
pub producer_occurrences: Vec<AttemptComposedScheduleOccurrence>,
pub consumer_scope_fingerprint: String,
pub consumer_additional_peak_bytes: u64,
pub consumer_stage_peak_bytes: u64,
pub complete_peak_bytes: u64,
pub fingerprint: String,
}Expand description
Immutable composed memory schedule bound to an admitted attempt.
The projection records producer order, retained outputs and the complete capacity requirement. It cannot grant capacity or change the selected device.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.schema: StringComposed-schedule schema label checked by the content fingerprint validator.
attempt_id: AttemptIdAttempt that owns this immutable composed schedule.
device_ordinal: usizeCUDA device selected by the admission grant.
grant_id: u64Immutable ledger grant identity to which the schedule is bound.
grant_bytes: u64Immutable admitted query capacity in bytes.
attempt_wide_fixed_bytes: u64Capacity required for the entire attempt outside individual scope peaks, in bytes.
producer_occurrences: Vec<AttemptComposedScheduleOccurrence>Producer occurrences in their committed execution order.
consumer_scope_fingerprint: StringFingerprint of the final consumer’s execution scope.
consumer_additional_peak_bytes: u64Consumer capacity beyond retained producer inputs, in bytes.
consumer_stage_peak_bytes: u64Consumer stage peak including retained producer outputs, in bytes.
complete_peak_bytes: u64Largest stage capacity required by the complete composed schedule, in bytes.
fingerprint: StringDeterministic content fingerprint of memory quantities and scope order.
Implementations§
Source§impl AttemptComposedScheduleProjection
impl AttemptComposedScheduleProjection
Sourcepub fn fingerprint_matches_contents(&self) -> bool
pub fn fingerprint_matches_contents(&self) -> bool
Checks the schema label and deterministic memory-schedule fingerprint. Attempt identity, device ordinal and grant binding are excluded from the fingerprint; this check does not validate the admission grant.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AttemptComposedScheduleProjection
impl<'de> Deserialize<'de> for AttemptComposedScheduleProjection
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AttemptComposedScheduleProjection
impl StructuralPartialEq for AttemptComposedScheduleProjection
Auto Trait Implementations§
impl Freeze for AttemptComposedScheduleProjection
impl RefUnwindSafe for AttemptComposedScheduleProjection
impl Send for AttemptComposedScheduleProjection
impl Sync for AttemptComposedScheduleProjection
impl Unpin for AttemptComposedScheduleProjection
impl UnsafeUnpin for AttemptComposedScheduleProjection
impl UnwindSafe for AttemptComposedScheduleProjection
Blanket Implementations§
impl<T> Allocation 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
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> ⓘ
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> ⓘ
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