pub struct ConvolutionPerformanceHints {
pub small_kernel_algorithm: ConvolutionAlgorithm,
pub large_kernel_algorithm: ConvolutionAlgorithm,
pub fft_threshold: usize,
pub winograd_threshold: usize,
pub tile_size: (usize, usize),
pub memory_bandwidth: f32,
pub compute_throughput: f32,
}Expand description
Performance characteristics for algorithm selection
Fields§
§small_kernel_algorithm: ConvolutionAlgorithmOptimal algorithm for small kernels (3x3, 5x5)
large_kernel_algorithm: ConvolutionAlgorithmOptimal algorithm for large kernels (7x7, 9x9+)
fft_threshold: usizeThreshold for switching to FFT-based convolution
winograd_threshold: usizeThreshold for using Winograd algorithm
tile_size: (usize, usize)Preferred tile size for tiled algorithms
memory_bandwidth: f32Memory bandwidth in GB/s
compute_throughput: f32Compute throughput in GOPS
Trait Implementations§
Source§impl Clone for ConvolutionPerformanceHints
impl Clone for ConvolutionPerformanceHints
Source§fn clone(&self) -> ConvolutionPerformanceHints
fn clone(&self) -> ConvolutionPerformanceHints
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConvolutionPerformanceHints
impl Debug for ConvolutionPerformanceHints
Auto Trait Implementations§
impl Freeze for ConvolutionPerformanceHints
impl RefUnwindSafe for ConvolutionPerformanceHints
impl Send for ConvolutionPerformanceHints
impl Sync for ConvolutionPerformanceHints
impl Unpin for ConvolutionPerformanceHints
impl UnsafeUnpin for ConvolutionPerformanceHints
impl UnwindSafe for ConvolutionPerformanceHints
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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