pub struct LaunchBuilder<'k> { /* private fields */ }Expand description
Builder produced by Kernel::launch.
Implementations§
Source§impl<'k> LaunchBuilder<'k>
impl<'k> LaunchBuilder<'k>
pub fn grid(self, grid: impl Into<Dim3>) -> Self
pub fn block(self, block: impl Into<Dim3>) -> Self
pub fn stream(self, stream: &'k Stream) -> Self
pub fn arg<K: KernelArg>(self, arg: K) -> Self
Sourcepub unsafe fn launch(self) -> Result<()>
pub unsafe fn launch(self) -> Result<()>
Enqueue the kernel.
§Safety
Same rules as [baracuda_driver::LaunchBuilder::launch]: argument
types and order must match the kernel’s C signature, referenced
device memory must stay valid for the duration of device execution,
and grid/block dims must be within device limits.
Sourcepub unsafe fn launch_cooperative(self) -> Result<()>
pub unsafe fn launch_cooperative(self) -> Result<()>
Launch as a cooperative kernel — grid-wide sync via
cooperative_groups::this_grid(). All blocks must fit resident
on the device simultaneously; use
crate::Kernel::max_active_blocks_per_multiprocessor to size
the grid.
§Safety
Same as launch plus the kernel must be
compiled with cooperative-groups support.
Trait Implementations§
Auto Trait Implementations§
impl<'k> Freeze for LaunchBuilder<'k>
impl<'k> RefUnwindSafe for LaunchBuilder<'k>
impl<'k> !Send for LaunchBuilder<'k>
impl<'k> !Sync for LaunchBuilder<'k>
impl<'k> Unpin for LaunchBuilder<'k>
impl<'k> UnsafeUnpin for LaunchBuilder<'k>
impl<'k> UnwindSafe for LaunchBuilder<'k>
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