pub struct ReduceKernel<RA: ReduceArgs, __R: Runtime> { /* private fields */ }Expand description
reduce_kernel Kernel
Implementations§
Source§impl<RA: ReduceArgs, __R: Runtime> ReduceKernel<RA, __R>
impl<RA: ReduceArgs, __R: Runtime> ReduceKernel<RA, __R>
pub fn new( settings: KernelSettings, client: ComputeClient<__R>, input: <RA::Input<In, InSize> as LaunchArg>::CompilationArg, output: <RA::Output<Out, OutSize> as LaunchArg>::CompilationArg, reduce_axis: <usize as LaunchArg>::CompilationArg, out_vec_axis: <usize as LaunchArg>::CompilationArg, _in_size: usize, _out_size: usize, blueprint: ReduceBlueprint, config: ReduceOperationConfig, _input_dtype: StorageType, _output_dtype: StorageType, _acc_dtype: StorageType, ) -> Self
Trait Implementations§
Source§impl<RA: ReduceArgs, __R: Runtime> KernelMetadata for ReduceKernel<RA, __R>
impl<RA: ReduceArgs, __R: Runtime> KernelMetadata for ReduceKernel<RA, __R>
Source§impl<RA: ReduceArgs, __R: Runtime> RudaKernel for ReduceKernel<RA, __R>
impl<RA: ReduceArgs, __R: Runtime> RudaKernel for ReduceKernel<RA, __R>
Source§fn define(&self) -> KernelDefinition
fn define(&self) -> KernelDefinition
Define the kernel for compilation
Auto Trait Implementations§
impl<RA, __R> !RefUnwindSafe for ReduceKernel<RA, __R>
impl<RA, __R> !UnwindSafe for ReduceKernel<RA, __R>
impl<RA, __R> Freeze for ReduceKernel<RA, __R>where
ComputeClient<__R>: Freeze,
<<RA as ReduceArgs>::Input<DynamicScalar<_In>, DynamicSize<_InSize>> as LaunchArg>::CompilationArg: Freeze,
<<RA as ReduceArgs>::Output<DynamicScalar<_Out>, DynamicSize<_OutSize>> as LaunchArg>::CompilationArg: Freeze,
PhantomData<fn() -> (__R, RA)>: Freeze,
impl<RA, __R> Send for ReduceKernel<RA, __R>where
ComputeClient<__R>: Send,
<<RA as ReduceArgs>::Input<DynamicScalar<_In>, DynamicSize<_InSize>> as LaunchArg>::CompilationArg: Send,
<<RA as ReduceArgs>::Output<DynamicScalar<_Out>, DynamicSize<_OutSize>> as LaunchArg>::CompilationArg: Send,
PhantomData<fn() -> (__R, RA)>: Send,
impl<RA, __R> Sync for ReduceKernel<RA, __R>where
ComputeClient<__R>: Sync,
<<RA as ReduceArgs>::Input<DynamicScalar<_In>, DynamicSize<_InSize>> as LaunchArg>::CompilationArg: Sync,
<<RA as ReduceArgs>::Output<DynamicScalar<_Out>, DynamicSize<_OutSize>> as LaunchArg>::CompilationArg: Sync,
PhantomData<fn() -> (__R, RA)>: Sync,
impl<RA, __R> Unpin for ReduceKernel<RA, __R>where
ComputeClient<__R>: Unpin,
<<RA as ReduceArgs>::Input<DynamicScalar<_In>, DynamicSize<_InSize>> as LaunchArg>::CompilationArg: Unpin,
<<RA as ReduceArgs>::Output<DynamicScalar<_Out>, DynamicSize<_OutSize>> as LaunchArg>::CompilationArg: Unpin,
PhantomData<fn() -> (__R, RA)>: Unpin,
impl<RA, __R> UnsafeUnpin for ReduceKernel<RA, __R>where
ComputeClient<__R>: UnsafeUnpin,
<<RA as ReduceArgs>::Input<DynamicScalar<_In>, DynamicSize<_InSize>> as LaunchArg>::CompilationArg: UnsafeUnpin,
<<RA as ReduceArgs>::Output<DynamicScalar<_Out>, DynamicSize<_OutSize>> as LaunchArg>::CompilationArg: UnsafeUnpin,
PhantomData<fn() -> (__R, RA)>: UnsafeUnpin,
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