Skip to main content

TaskQueueSnapshot

Struct TaskQueueSnapshot 

Source
pub struct TaskQueueSnapshot {
    pub ready_count: u32,
    pub paused_count: u32,
    pub yielded_count: u32,
    pub requeued_count: u32,
    pub running_count: u32,
    pub faulted_count: u32,
    pub total_requeues: u64,
    pub max_priority_age: u32,
}
Expand description

Queue telemetry derived from device-visible continuation task slots.

Fields§

§ready_count: u32

Count of ready slots.

§paused_count: u32

Count of paused slots.

§yielded_count: u32

Count of yielded slots.

§requeued_count: u32

Count of requeued slots.

§running_count: u32

Count of running slots.

§faulted_count: u32

Count of faulted slots.

§total_requeues: u64

Sum of per-slot requeue counters.

§max_priority_age: u32

Maximum priority-aging tick observed in the queue.

Implementations§

Source§

impl TaskQueueSnapshot

Source

pub fn from_tasks(tasks: &[TaskWorkItem]) -> Result<Self, BackendError>

Build a queue snapshot from continuation task slots.

§Errors

Returns BackendError when the slice contains an unknown task state or a count cannot fit the u32 ABI.

Source

pub fn schedulable_count(&self) -> u32

Number of slots immediately eligible for GPU scheduling.

Source

pub fn try_schedulable_count(&self) -> Result<u32, BackendError>

Checked number of slots immediately eligible for GPU scheduling.

§Errors

Returns BackendError when the summed schedulable count exceeds the u32 launch ABI.

Source

pub fn continuation_pressure_count(&self) -> u64

Number of slots carrying continuation pressure.

Source

pub fn try_continuation_pressure_count(&self) -> Result<u64, BackendError>

Checked number of slots carrying continuation pressure.

§Errors

Returns BackendError when continuation pressure exceeds u64.

Source

pub fn build_state_convergence_program( transfer_body: Vec<Node>, current_buffer: &str, next_buffer: &str, changed_buffer: &str, words: u32, max_iterations: u32, ) -> Program

Build a Program that runs a one-shot persistent fixpoint over the queue snapshot’s state-counter buffer, converging the counts to a stable equilibrium representing the queue’s long-run distribution. Wires the self-substrate persistent fixpoint builder for observability collectors that want stable signals over transient queue jitter.

current_buffer / next_buffer / changed_buffer are caller-supplied buffer names for the persistent_fixpoint ping-pong; transfer_body is the per-iteration body that reads current and writes next. Returns a Program suitable for one dispatch.

P-RUNTIME-4: replaces a host-side jitter-smoothing loop with a single GPU-side fixpoint dispatch.

Source

pub fn apply_to_launch_request( &self, request: MegakernelLaunchRequest, ) -> MegakernelLaunchRequest

Merge this queue telemetry into a launch request.

Source

pub fn try_apply_to_launch_request( &self, request: MegakernelLaunchRequest, ) -> Result<MegakernelLaunchRequest, BackendError>

Checked merge of queue telemetry into a launch request.

§Errors

Returns BackendError when schedulable count or continuation pressure cannot fit the launch request ABI.

Trait Implementations§

Source§

impl Clone for TaskQueueSnapshot

Source§

fn clone(&self) -> TaskQueueSnapshot

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 TaskQueueSnapshot

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for TaskQueueSnapshot

Source§

fn default() -> TaskQueueSnapshot

Returns the “default value” for a type. Read more
Source§

impl PartialEq for TaskQueueSnapshot

Source§

fn eq(&self, other: &TaskQueueSnapshot) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for TaskQueueSnapshot

Source§

impl Eq for TaskQueueSnapshot

Source§

impl StructuralPartialEq for TaskQueueSnapshot

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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