pub struct AvailableLineSizes {
pub lhs: Vec<u8>,
pub rhs: Vec<u8>,
pub out: Vec<u8>,
}
Expand description
Candidate line sizes supported for each tensor.
These lists begin with compiler-supported sizes and are progressively filtered based on problem shape divisibility and hardware constraints.
Fields§
§lhs: Vec<u8>
§rhs: Vec<u8>
§out: Vec<u8>
Implementations§
Source§impl AvailableLineSizes
impl AvailableLineSizes
pub fn from_elem_types<R: Runtime>(elem_in: &Elem, elem_out: &Elem) -> Self
Sourcepub fn filter_lhs_with_tensor(
self,
strides: &[usize],
shape: &[usize],
layout: MatrixLayout,
) -> Self
pub fn filter_lhs_with_tensor( self, strides: &[usize], shape: &[usize], layout: MatrixLayout, ) -> Self
Filter available line sizes considering tensor shapes and strides for Lhs
Sourcepub fn filter_rhs_with_tensor(
self,
strides: &[usize],
shape: &[usize],
layout: MatrixLayout,
) -> Self
pub fn filter_rhs_with_tensor( self, strides: &[usize], shape: &[usize], layout: MatrixLayout, ) -> Self
Filter available line sizes considering tensor shapes and strides for Rhs
Sourcepub fn filter_out_with_tensor(self, strides: &[usize], shape: &[usize]) -> Self
pub fn filter_out_with_tensor(self, strides: &[usize], shape: &[usize]) -> Self
Filter available line sizes considering tensor shapes and strides for output
Sourcepub fn filter_lhs<F>(self, pred: F) -> Self
pub fn filter_lhs<F>(self, pred: F) -> Self
Filter available line sizes for Lhs
Sourcepub fn filter_rhs<F>(self, pred: F) -> Self
pub fn filter_rhs<F>(self, pred: F) -> Self
Filter available line sizes for Rhs
Sourcepub fn filter_out<F>(self, pred: F) -> Self
pub fn filter_out<F>(self, pred: F) -> Self
Filter available line sizes for output
Sourcepub fn pick_max(self) -> Result<MatmulLineSizes, MatmulSetupError>
pub fn pick_max(self) -> Result<MatmulLineSizes, MatmulSetupError>
Pick the largest remaining line size for each tensor
Trait Implementations§
Source§impl Clone for AvailableLineSizes
impl Clone for AvailableLineSizes
Source§fn clone(&self) -> AvailableLineSizes
fn clone(&self) -> AvailableLineSizes
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 moreAuto Trait Implementations§
impl Freeze for AvailableLineSizes
impl RefUnwindSafe for AvailableLineSizes
impl Send for AvailableLineSizes
impl Sync for AvailableLineSizes
impl Unpin for AvailableLineSizes
impl UnwindSafe for AvailableLineSizes
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