pub struct WgpuMegakernelDispatcher<'a> { /* private fields */ }Expand description
Runtime wrapper for persistent megakernel dispatch.
Implementations§
Source§impl<'a> WgpuMegakernelDispatcher<'a>
impl<'a> WgpuMegakernelDispatcher<'a>
Sourcepub fn new(backend: &'a dyn VyreBackend) -> Self
pub fn new(backend: &'a dyn VyreBackend) -> Self
Create a new dispatcher.
Sourcepub fn dispatch_megakernel_bytes(
&self,
work_queue_bytes: &[u8],
config: &MegakernelConfig,
) -> Result<MegakernelReport, BackendError>
pub fn dispatch_megakernel_bytes( &self, work_queue_bytes: &[u8], config: &MegakernelConfig, ) -> Result<MegakernelReport, BackendError>
Decode a raw little-endian MegakernelWorkItem queue and launch the megakernel.
§Errors
Returns a backend error when work_queue_bytes is not exactly aligned to
MegakernelWorkItem records or when backend dispatch fails.
Sourcepub fn dispatch_megakernel(
&self,
work_items: &[MegakernelWorkItem],
config: &MegakernelConfig,
) -> Result<MegakernelReport, BackendError>
pub fn dispatch_megakernel( &self, work_items: &[MegakernelWorkItem], config: &MegakernelConfig, ) -> Result<MegakernelReport, BackendError>
Launch the megakernel.
Sourcepub fn dispatch_megakernel_with_io_queue(
&self,
work_items: &[MegakernelWorkItem],
config: &MegakernelConfig,
io_queue_bytes: Vec<u8>,
) -> Result<MegakernelReport, BackendError>
pub fn dispatch_megakernel_with_io_queue( &self, work_items: &[MegakernelWorkItem], config: &MegakernelConfig, io_queue_bytes: Vec<u8>, ) -> Result<MegakernelReport, BackendError>
Launch the megakernel with a caller-supplied IO queue.
The queue is validated against the megakernel ABI before any backend work starts, so malformed queue views fail before compilation or GPU submission.
Trait Implementations§
Source§impl MegakernelDispatch for WgpuMegakernelDispatcher<'_>
impl MegakernelDispatch for WgpuMegakernelDispatcher<'_>
Source§fn dispatch_megakernel(
&self,
work_queue: &[MegakernelWorkItem],
config: &MegakernelConfig,
) -> Result<MegakernelReport, BackendError>
fn dispatch_megakernel( &self, work_queue: &[MegakernelWorkItem], config: &MegakernelConfig, ) -> Result<MegakernelReport, BackendError>
Drain the requested megakernel dispatch.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for WgpuMegakernelDispatcher<'a>
impl<'a> !UnwindSafe for WgpuMegakernelDispatcher<'a>
impl<'a> Freeze for WgpuMegakernelDispatcher<'a>
impl<'a> Send for WgpuMegakernelDispatcher<'a>
impl<'a> Sync for WgpuMegakernelDispatcher<'a>
impl<'a> Unpin for WgpuMegakernelDispatcher<'a>
impl<'a> UnsafeUnpin for WgpuMegakernelDispatcher<'a>
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