pub struct Avx2Kernel;Expand description
AVX2/FMA-accelerated kernel.
Guarded at construction time by a runtime has_avx2() check;
never instantiated on non-x86_64 targets.
Trait Implementations§
Source§impl SimdKernel for Avx2Kernel
Available on x86-64 only.
impl SimdKernel for Avx2Kernel
Available on x86-64 only.
Source§fn batch_add(&self, a: &[f64], b: &[f64], out: &mut [f64])
fn batch_add(&self, a: &[f64], b: &[f64], out: &mut [f64])
Element-wise addition:
out[i] = a[i] + b[i].Source§fn batch_sub(&self, a: &[f64], b: &[f64], out: &mut [f64])
fn batch_sub(&self, a: &[f64], b: &[f64], out: &mut [f64])
Element-wise subtraction:
out[i] = a[i] - b[i].Source§fn batch_mul(&self, a: &[f64], b: &[f64], out: &mut [f64])
fn batch_mul(&self, a: &[f64], b: &[f64], out: &mut [f64])
Element-wise multiplication:
out[i] = a[i] * b[i].Source§fn batch_div(&self, a: &[f64], b: &[f64], out: &mut [f64])
fn batch_div(&self, a: &[f64], b: &[f64], out: &mut [f64])
Element-wise division:
out[i] = a[i] / b[i].Source§fn batch_fma(&self, a: &[f64], b: &[f64], c: &[f64], out: &mut [f64])
fn batch_fma(&self, a: &[f64], b: &[f64], c: &[f64], out: &mut [f64])
Fused multiply-add:
out[i] = a[i] * b[i] + c[i].Source§fn batch_sqrt(&self, a: &[f64], out: &mut [f64])
fn batch_sqrt(&self, a: &[f64], out: &mut [f64])
Element-wise square root:
out[i] = sqrt(a[i]).Auto Trait Implementations§
impl Freeze for Avx2Kernel
impl RefUnwindSafe for Avx2Kernel
impl Send for Avx2Kernel
impl Sync for Avx2Kernel
impl Unpin for Avx2Kernel
impl UnsafeUnpin for Avx2Kernel
impl UnwindSafe for Avx2Kernel
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