pub struct ArgAccumulator<N: Numeric> {
pub elements: SharedMemory<Line<N>>,
pub args: SharedMemory<Line<u32>>,
}
Expand description
A pair of shared memory used for [ArgMax
] and [ArgMin
].
Fields§
§elements: SharedMemory<Line<N>>
§args: SharedMemory<Line<u32>>
Trait Implementations§
Source§impl<N: Numeric> CubeType for ArgAccumulator<N>
impl<N: Numeric> CubeType for ArgAccumulator<N>
type ExpandType = ArgAccumulatorExpand<N>
Source§fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl<N: Numeric> IntoRuntime for ArgAccumulator<N>
impl<N: Numeric> IntoRuntime for ArgAccumulator<N>
fn __expand_runtime_method(self, context: &mut CubeContext) -> Self::ExpandType
Source§fn runtime(self) -> Self
fn runtime(self) -> Self
Make sure a type is actually expanded into its runtime expand type.
type Item = (Line<In>, Line<u32>)
fn allocate(length: u32, line_size: u32) -> Self
fn read(accumulator: &Self, index: u32) -> Self::Item
fn write(accumulator: &mut Self, index: u32, item: Self::Item)
fn __expand_allocate( context: &mut CubeContext, length: u32, line_size: u32, ) -> <Self as CubeType>::ExpandType
fn __expand_read( context: &mut CubeContext, accumulator: <Self as CubeType>::ExpandType, index: <u32 as CubeType>::ExpandType, ) -> <Self::Item as CubeType>::ExpandType
fn __expand_write( context: &mut CubeContext, accumulator: <Self as CubeType>::ExpandType, index: <u32 as CubeType>::ExpandType, item: <Self::Item as CubeType>::ExpandType, ) -> <() as CubeType>::ExpandType
Auto Trait Implementations§
impl<N> Freeze for ArgAccumulator<N>
impl<N> RefUnwindSafe for ArgAccumulator<N>where
N: RefUnwindSafe,
impl<N> Send for ArgAccumulator<N>
impl<N> Sync for ArgAccumulator<N>
impl<N> Unpin for ArgAccumulator<N>where
N: Unpin,
impl<N> UnwindSafe for ArgAccumulator<N>where
N: 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