Struct cubecl_core::compute::KernelLauncher
source · pub struct KernelLauncher<R: Runtime> {
pub settings: KernelSettings,
/* private fields */
}
Expand description
Prepare a kernel for launch.
Fields§
§settings: KernelSettings
Implementations§
source§impl<R: Runtime> KernelLauncher<R>
impl<R: Runtime> KernelLauncher<R>
sourcepub fn register_tensor(&mut self, tensor: &TensorHandleRef<'_, R>)
pub fn register_tensor(&mut self, tensor: &TensorHandleRef<'_, R>)
Register a tensor to be launched.
sourcepub fn register_array(&mut self, array: &ArrayHandleRef<'_, R>)
pub fn register_array(&mut self, array: &ArrayHandleRef<'_, R>)
Register an array to be launched.
sourcepub fn register_u32(&mut self, scalar: u32)
pub fn register_u32(&mut self, scalar: u32)
Register a u32 scalar to be launched.
sourcepub fn register_i32(&mut self, scalar: i32)
pub fn register_i32(&mut self, scalar: i32)
Register a i32 scalar to be launched.
sourcepub fn register_i64(&mut self, scalar: i64)
pub fn register_i64(&mut self, scalar: i64)
Register a i64 scalar to be launched.
sourcepub fn register_bf16(&mut self, scalar: bf16)
pub fn register_bf16(&mut self, scalar: bf16)
Register a bf16 scalar to be launched.
sourcepub fn register_f16(&mut self, scalar: f16)
pub fn register_f16(&mut self, scalar: f16)
Register a f16 scalar to be launched.
sourcepub fn register_f32(&mut self, scalar: f32)
pub fn register_f32(&mut self, scalar: f32)
Register a f32 scalar to be launched.
sourcepub fn register_f64(&mut self, scalar: f64)
pub fn register_f64(&mut self, scalar: f64)
Register a f64 scalar to be launched.
sourcepub fn launch<K: Kernel>(
self,
cube_count: CubeCount<R::Server>,
kernel: K,
client: &ComputeClient<R::Server, R::Channel>,
)
pub fn launch<K: Kernel>( self, cube_count: CubeCount<R::Server>, kernel: K, client: &ComputeClient<R::Server, R::Channel>, )
Launch the kernel.
sourcepub unsafe fn launch_unchecked<K: Kernel>(
self,
cube_count: CubeCount<R::Server>,
kernel: K,
client: &ComputeClient<R::Server, R::Channel>,
)
pub unsafe fn launch_unchecked<K: Kernel>( self, cube_count: CubeCount<R::Server>, kernel: K, client: &ComputeClient<R::Server, R::Channel>, )
Trait Implementations§
Auto Trait Implementations§
impl<R> Freeze for KernelLauncher<R>
impl<R> RefUnwindSafe for KernelLauncher<R>where
<<<R as Runtime>::Server as ComputeServer>::MemoryManagement as MemoryManagement<<<R as Runtime>::Server as ComputeServer>::Storage>>::Binding: RefUnwindSafe,
impl<R> Send for KernelLauncher<R>
impl<R> Sync for KernelLauncher<R>
impl<R> Unpin for KernelLauncher<R>where
<<<R as Runtime>::Server as ComputeServer>::MemoryManagement as MemoryManagement<<<R as Runtime>::Server as ComputeServer>::Storage>>::Binding: Unpin,
impl<R> UnwindSafe for KernelLauncher<R>where
<<<R as Runtime>::Server as ComputeServer>::MemoryManagement as MemoryManagement<<<R as Runtime>::Server as ComputeServer>::Storage>>::Binding: 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