pub enum Conv2dStrategy {
Direct,
Autotune,
Gemm,
ImplicitGemm,
ImplicitGemmComplex,
}Expand description
The strategy to be used when launching a convolution kernel.
Variants§
Direct
A simple direct convolution.
Autotune
Available on crate feature
autotune only.Using autotune to choose the best kernel based on runtime information.
Gemm
GEMM (im2col) based implementation of convolution. Significantly increased memory usage.
ImplicitGemm
Implicit GEMM implementation of convolution. Lower memory usage but requires CMMA and has constraints on tensor shape.
ImplicitGemmComplex
Implicit GEMM implementation of convolution. Uses cubecl matmul components to provide
the flexibility needed to work well for varied problem sizes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Conv2dStrategy
impl RefUnwindSafe for Conv2dStrategy
impl Send for Conv2dStrategy
impl Sync for Conv2dStrategy
impl Unpin for Conv2dStrategy
impl UnwindSafe for Conv2dStrategy
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
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