WarpReduceOp

Trait WarpReduceOp 

Source
pub trait WarpReduceOp<T, Op: ReduxKind> {
    // Required method
    fn redux(&self, op: Op, value: T) -> T;
}

Required Methods§

Source

fn redux(&self, op: Op, value: T) -> T

Implementors§

Source§

impl<const SIZE: usize> WarpReduceOp<f32, ReduxAdd> for ThreadWarpTile<SIZE>

Source§

impl<const SIZE: usize> WarpReduceOp<f32, ReduxMax> for ThreadWarpTile<SIZE>

Source§

impl<const SIZE: usize, T, Op> WarpReduceOp<T, Op> for ThreadWarpTile<SIZE, 1>
where Op: NvvmReduxSyncKind<T> + ReduxKind,

Ideally, we should use SubGroupReduceKind here, but MLIR support is limited. Let user use subgroup_reduce directly.