pub struct Strategy1x1;Expand description
An inner loop implementation strategy using 1 parallel instances of the schema accumulator with a manual inner loop unroll of 1.
Trait Implementations§
Source§impl MainLoop for Strategy1x1
impl MainLoop for Strategy1x1
Source§const BLOCK_SIZE: usize = 1
const BLOCK_SIZE: usize = 1
The effective number of unrolling (in terms of SIMD vectors) performed by this
kernel. For example, if
BLOCK_SIZE = 4 and the SIMD width is 8, than each iteration
of the main loop will process 4 * 8 = 32 elements. Read moreSource§unsafe fn main<S, L, R, A>(
loader: &Loader<S, L, R, A>,
trip_count: usize,
_epilogues: usize,
) -> S::Accumulatorwhere
A: Architecture,
S: SIMDSchema<L, R, A>,
unsafe fn main<S, L, R, A>(
loader: &Loader<S, L, R, A>,
trip_count: usize,
_epilogues: usize,
) -> S::Accumulatorwhere
A: Architecture,
S: SIMDSchema<L, R, A>,
Perform the main unrolled loops of a SIMD kernel. This loop is expected to process
all elements in the range
[0, trip_count * S::get_simd_width() * Self::BLOCK_SIZE)
and return an accumulator consisting of the result. Read moreAuto Trait Implementations§
impl Freeze for Strategy1x1
impl RefUnwindSafe for Strategy1x1
impl Send for Strategy1x1
impl Sync for Strategy1x1
impl Unpin for Strategy1x1
impl UnsafeUnpin for Strategy1x1
impl UnwindSafe for Strategy1x1
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