Module primitives

Source

Modules§

reduce_slice
reduce_slice_plane
reduce_slice_shared
reduce_tree

Structs§

ReduceRange
A simple range to specify how to iterate a slice when performing a reduction.
ReduceRangeExpand

Functions§

reduce_slice
Use an individual unit to reduce the items with the specified range. That is, this will reduces items[range.start], items[range.start + range.step] until items[range.end] (exclusive).
reduce_slice_plane
Use an individual plane to reduce the items with the specified range. That is, this will reduces items[range.start], items[range.start + range.step] until items[range.end] (exclusive).
reduce_slice_shared
Use an individual cube to reduce the items with the specified range. That is, this will reduces items[range.start], items[range.start + range.step] until items[range.end] (exclusive). Inside a cube, the reduction will use plane operations if use_planes is set to true.
reduce_tree
Use all units within a cube to fuse the first size elements of accumulator inplace like this with some padding if size is not a power of 2.