pub struct MegakernelResidentHandles {
pub control: ResidentHandle,
pub ring: ResidentHandle,
pub debug_log: ResidentHandle,
pub io_queue: ResidentHandle,
}Expand description
GPU-resident buffer handles for the four-buffer megakernel ABI.
Backends that implement persistent handles can keep control, ring, debug, and IO queue buffers resident across launches. Runtime callers use this type when a host byte mirror would force avoidable copies on the hot path.
Fields§
§control: ResidentHandleResident control-buffer handle.
ring: ResidentHandleResident ring-buffer handle.
debug_log: ResidentHandleResident debug-log buffer handle.
io_queue: ResidentHandleResident IO-queue buffer handle.
Implementations§
Source§impl MegakernelResidentHandles
impl MegakernelResidentHandles
Sourcepub const ABI_RESOURCE_COUNT: usize = 4
pub const ABI_RESOURCE_COUNT: usize = 4
Number of resident ABI resources passed to one persistent megakernel dispatch.
Sourcepub const fn new(
control: ResidentHandle,
ring: ResidentHandle,
debug_log: ResidentHandle,
io_queue: ResidentHandle,
) -> Self
pub const fn new( control: ResidentHandle, ring: ResidentHandle, debug_log: ResidentHandle, io_queue: ResidentHandle, ) -> Self
Construct resident handles in megakernel ABI binding order.
Each handle names the backend instance that allocated it, so a set held across backend instances is refused at dispatch rather than resolved against whatever that instance has under the same local ids.
Trait Implementations§
Source§impl Clone for MegakernelResidentHandles
impl Clone for MegakernelResidentHandles
Source§fn clone(&self) -> MegakernelResidentHandles
fn clone(&self) -> MegakernelResidentHandles
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MegakernelResidentHandles
Source§impl Debug for MegakernelResidentHandles
impl Debug for MegakernelResidentHandles
impl Eq for MegakernelResidentHandles
impl StructuralPartialEq for MegakernelResidentHandles
Auto Trait Implementations§
impl Freeze for MegakernelResidentHandles
impl RefUnwindSafe for MegakernelResidentHandles
impl Send for MegakernelResidentHandles
impl Sync for MegakernelResidentHandles
impl Unpin for MegakernelResidentHandles
impl UnsafeUnpin for MegakernelResidentHandles
impl UnwindSafe for MegakernelResidentHandles
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
Compare self to
key and return true if they are equal.