pub struct LayoutOptimizer { /* private fields */ }Expand description
Layout optimizer
Implementations§
Source§impl LayoutOptimizer
impl LayoutOptimizer
Sourcepub fn choose_layout(&mut self, op: &OperationType) -> MemoryLayout
pub fn choose_layout(&mut self, op: &OperationType) -> MemoryLayout
Choose optimal layout for an operation
Sourcepub fn transform_layout(
&self,
data: &[f32],
from: MemoryLayout,
to: MemoryLayout,
shape: &[usize],
) -> Vec<f32>
pub fn transform_layout( &self, data: &[f32], from: MemoryLayout, to: MemoryLayout, shape: &[usize], ) -> Vec<f32>
Transform tensor from one layout to another
Sourcepub fn estimate_performance(
&self,
op: &OperationType,
layout: MemoryLayout,
) -> f64
pub fn estimate_performance( &self, op: &OperationType, layout: MemoryLayout, ) -> f64
Get performance estimate for a layout choice
Sourcepub fn clear_cache(&mut self)
pub fn clear_cache(&mut self)
Clear layout cache
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LayoutOptimizer
impl RefUnwindSafe for LayoutOptimizer
impl Send for LayoutOptimizer
impl Sync for LayoutOptimizer
impl Unpin for LayoutOptimizer
impl UnwindSafe for LayoutOptimizer
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