pub struct FaerBackend;Expand description
Batched GEMM backend using the [faer] library.
Trait Implementations§
Source§impl BackendConfig for FaerBackend
Available on crate feature faer only.
impl BackendConfig for FaerBackend
Available on crate feature
faer only.Source§const MATERIALIZES_CONJ: bool = false
const MATERIALIZES_CONJ: bool = false
Whether the backend needs conjugation materialized into the data
before GEMM (e.g., CBLAS has no conjugation flag for
?gemm).Source§const REQUIRES_UNIT_STRIDE: bool = false
const REQUIRES_UNIT_STRIDE: bool = false
Whether the backend requires at least one unit stride per matrix
dimension (row or column stride must be 1). CBLAS
?gemm requires
this; faer does not.Source§impl<T> BgemmBackend<T> for FaerBackendwhere
T: Scalar + ComplexField,
impl<T> BgemmBackend<T> for FaerBackendwhere
T: Scalar + ComplexField,
Source§fn bgemm_contiguous_into(
c: &mut ContiguousOperandMut<T>,
a: &ContiguousOperand<T>,
b: &ContiguousOperand<T>,
batch_dims: &[usize],
m: usize,
n: usize,
k: usize,
alpha: T,
beta: T,
) -> Result<()>
fn bgemm_contiguous_into( c: &mut ContiguousOperandMut<T>, a: &ContiguousOperand<T>, b: &ContiguousOperand<T>, batch_dims: &[usize], m: usize, n: usize, k: usize, alpha: T, beta: T, ) -> Result<()>
Execute batched GEMM:
C = alpha * A * B + beta * C for each batch. Read moreAuto Trait Implementations§
impl Freeze for FaerBackend
impl RefUnwindSafe for FaerBackend
impl Send for FaerBackend
impl Sync for FaerBackend
impl Unpin for FaerBackend
impl UnwindSafe for FaerBackend
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
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more