pub struct Loader<Schema, Left, Right, A>where
Schema: SIMDSchema<Left, Right, A>,
A: Architecture,{ /* private fields */ }Expand description
A utility struct to help with SIMD loading.
The main loop of SIMD kernels consists of various tilings of loads and arithmetic. Outside of the epilogue, these loads are all full-width vector loads.
To aid in defining different tilings, this struct takes the base pointers for left and
right hand pointers and provides a load method to extract full vectors for both
the left and right-hand sides.
This works in conjunction with the SIMDSchema to help write unrolled loops.
Trait Implementations§
impl<Schema, Left: Copy, Right: Copy, A> Copy for Loader<Schema, Left, Right, A>
Auto Trait Implementations§
impl<Schema, Left, Right, A> Freeze for Loader<Schema, Left, Right, A>
impl<Schema, Left, Right, A> RefUnwindSafe for Loader<Schema, Left, Right, A>
impl<Schema, Left, Right, A> !Send for Loader<Schema, Left, Right, A>
impl<Schema, Left, Right, A> !Sync for Loader<Schema, Left, Right, A>
impl<Schema, Left, Right, A> Unpin for Loader<Schema, Left, Right, A>
impl<Schema, Left, Right, A> UnsafeUnpin for Loader<Schema, Left, Right, A>where
A: UnsafeUnpin,
Schema: UnsafeUnpin,
impl<Schema, Left, Right, A> UnwindSafe for Loader<Schema, Left, Right, A>
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