pub struct VAccelAdapter<A> { /* private fields */ }Expand description
Adapter seam from a concrete backend to the portable accelerator contract.
Implementations§
Source§impl<A> VAccelAdapter<A>
impl<A> VAccelAdapter<A>
Sourcepub fn backend_mut(&mut self) -> &mut A
pub fn backend_mut(&mut self) -> &mut A
Borrow the wrapped backend mutably.
Sourcepub fn into_inner(self) -> A
pub fn into_inner(self) -> A
Consume the adapter and return the underlying backend.
Sourcepub fn direct_binding_admissions(&self) -> u64
pub fn direct_binding_admissions(&self) -> u64
Number of observed accepted binding admissions.
This counter is a first-order signal for backends that do not expose their native direct-bindings counters yet.
Sourcepub fn explicit_transfer_bytes(&self) -> u64
pub fn explicit_transfer_bytes(&self) -> u64
Total bytes passed through explicit host transfers.
This includes bytes requested by explicit write_buffer and read_buffer calls.
Sourcepub fn reset_submission_path_metrics(&self)
pub fn reset_submission_path_metrics(&self)
Reset adapter-level metrics collected during the current integration window.
Trait Implementations§
Source§impl<A: Accelerator> Accelerator for VAccelAdapter<A>
impl<A: Accelerator> Accelerator for VAccelAdapter<A>
Source§type Context = <A as Accelerator>::Context
type Context = <A as Accelerator>::Context
Owned context handle. It may be a native value and need not be boxed, cloneable, or thread
safe.
Source§type Buffer = <A as Accelerator>::Buffer
type Buffer = <A as Accelerator>::Buffer
Owned handle for the exact allocation described by its accompanying [
BufferInfo].Source§type Program = <A as Accelerator>::Program
type Program = <A as Accelerator>::Program
Owned resident-program handle with no borrow of its source artifact.
Source§type Event = <A as Accelerator>::Event
type Event = <A as Accelerator>::Event
Owned submission and completion token with no borrow of the submitted binding slice.
Source§fn device_info(&self) -> Result<DeviceInfo, BackendError>
fn device_info(&self) -> Result<DeviceInfo, BackendError>
Return immutable identity, capability, and limit metadata. Read more
Source§fn create_context(
&self,
desc: ContextDesc,
) -> Result<Self::Context, BackendError>
fn create_context( &self, desc: ContextDesc, ) -> Result<Self::Context, BackendError>
Create one context from prevalidated intent. Read more
Source§fn destroy_context(
&self,
context: Self::Context,
) -> Result<(), ReleaseFailure<Self::Context>>
fn destroy_context( &self, context: Self::Context, ) -> Result<(), ReleaseFailure<Self::Context>>
Destroy an empty context. Read more
Source§fn allocate_buffer(
&self,
context: &Self::Context,
desc: BufferDesc,
) -> Result<AllocatedBuffer<Self::Buffer>, BackendError>
fn allocate_buffer( &self, context: &Self::Context, desc: BufferDesc, ) -> Result<AllocatedBuffer<Self::Buffer>, BackendError>
Allocate one exact provider-owned buffer backing. Read more
Source§fn write_buffer(
&self,
buffer: &mut Self::Buffer,
offset: u64,
data: &dyn ByteSource,
) -> Result<(), BackendError>
fn write_buffer( &self, buffer: &mut Self::Buffer, offset: u64, data: &dyn ByteSource, ) -> Result<(), BackendError>
Perform one explicit host-to-buffer transfer. Read more
Source§fn read_buffer(
&self,
buffer: &Self::Buffer,
offset: u64,
data: &mut dyn ByteSink,
) -> Result<(), BackendError>
fn read_buffer( &self, buffer: &Self::Buffer, offset: u64, data: &mut dyn ByteSink, ) -> Result<(), BackendError>
Perform one explicit buffer-to-host transfer. Read more
Source§fn free_buffer(
&self,
buffer: Self::Buffer,
) -> Result<(), ReleaseFailure<Self::Buffer>>
fn free_buffer( &self, buffer: Self::Buffer, ) -> Result<(), ReleaseFailure<Self::Buffer>>
Release an unreferenced buffer and its exact backing allocation. Read more
Source§fn load_program(
&self,
context: &Self::Context,
artifact: ArtifactRef<'_>,
) -> Result<Self::Program, BackendError>
fn load_program( &self, context: &Self::Context, artifact: ArtifactRef<'_>, ) -> Result<Self::Program, BackendError>
Create a resident program from an opaque, possibly segmented artifact. Read more
Source§fn unload_program(
&self,
program: Self::Program,
) -> Result<(), ReleaseFailure<Self::Program>>
fn unload_program( &self, program: Self::Program, ) -> Result<(), ReleaseFailure<Self::Program>>
Release an unreferenced resident program. Read more
Source§fn create_queue(
&self,
context: &Self::Context,
desc: QueueDesc,
) -> Result<Self::Queue, BackendError>
fn create_queue( &self, context: &Self::Context, desc: QueueDesc, ) -> Result<Self::Queue, BackendError>
Create one accelerator execution queue. Read more
Source§fn destroy_queue(
&self,
queue: Self::Queue,
) -> Result<(), ReleaseFailure<Self::Queue>>
fn destroy_queue( &self, queue: Self::Queue, ) -> Result<(), ReleaseFailure<Self::Queue>>
Release an unreferenced execution queue. Read more
Source§fn submit(
&self,
queue: &Self::Queue,
program: &Self::Program,
bindings: &[BindingRef<'_, Self::Buffer>],
timeout: Timeout,
) -> Result<Self::Event, SubmitFailure<Self::Event>>
fn submit( &self, queue: &Self::Queue, program: &Self::Program, bindings: &[BindingRef<'_, Self::Buffer>], timeout: Timeout, ) -> Result<Self::Event, SubmitFailure<Self::Event>>
Attempt to admit one program execution and return its event. Read more
Source§fn poll_event(&self, event: &Self::Event) -> Result<EventState, BackendError>
fn poll_event(&self, event: &Self::Event) -> Result<EventState, BackendError>
Observe event state without blocking or driving an executor. Read more
Auto Trait Implementations§
impl<A> !Freeze for VAccelAdapter<A>
impl<A> RefUnwindSafe for VAccelAdapter<A>where
A: RefUnwindSafe,
impl<A> Send for VAccelAdapter<A>where
A: Send,
impl<A> Sync for VAccelAdapter<A>where
A: Sync,
impl<A> Unpin for VAccelAdapter<A>where
A: Unpin,
impl<A> UnsafeUnpin for VAccelAdapter<A>where
A: UnsafeUnpin,
impl<A> UnwindSafe for VAccelAdapter<A>where
A: UnwindSafe,
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