Skip to main content

ConflictTracker

Struct ConflictTracker 

Source
pub struct ConflictTracker { /* private fields */ }
Expand description

A single forward pass execution context.

All ops are encoded into one CommandEncoder. Call finish to commit the command buffer and wait for GPU completion — this is the ONLY sync point per forward pass.

If an op returns an error, the session can be dropped without committing. The underlying command buffer is abandoned (never committed to the GPU). Tracks buffer address ranges for automatic barrier elision.

Mirrors llama.cpp’s ggml_mem_ranges — accumulates the read and write ranges of all dispatches in the current concurrent group. When a new dispatch’s reads overlap with an existing write (RAW), or its writes overlap with an existing read or write (WAR/WAW), a barrier is needed. Otherwise the dispatch can run concurrently and the barrier is elided.

Uses CPU-visible contents_ptr() addresses, which on Apple Silicon unified memory equal the GPU addresses.

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> 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, 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.