Struct TilingScheme

Source
pub struct TilingScheme {
    pub tile_size: TileSize,
    pub partition_size: PartitionSize,
    pub stage_size: StageSize,
    pub global_partition_size: GlobalPartitionSize,
}
Expand description

Complete tiling configuration for a matmul. Encodes all structural information needed to compute tiling shapes and counts.

Fields§

§tile_size: TileSize§partition_size: PartitionSize§stage_size: StageSize§global_partition_size: GlobalPartitionSize

Implementations§

Source§

impl TilingScheme

Source

pub fn builder() -> TilingSchemeBuilder

Create a builder for TilingScheme

Source§

impl TilingScheme

Source

pub fn stage_partitions_in_stage_m(&self) -> u32

Source

pub fn stage_partitions_in_stage_n(&self) -> u32

Source

pub fn stage_partitions_in_stage_k(&self) -> u32

Source

pub fn stage_partitions_in_stage_row<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn stage_partitions_in_stage_col<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn stage_partitions_in_stage_mk(&self) -> u32

Source

pub fn stage_partitions_in_stage_nk(&self) -> u32

Source

pub fn stage_partitions_in_stage_mn(&self) -> u32

Source

pub fn stage_partitions_in_stage<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn tiles_in_stage_m(&self) -> u32

Source

pub fn tiles_in_stage_n(&self) -> u32

Source

pub fn tiles_in_stage_k(&self) -> u32

Source

pub fn tiles_in_stage_row<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn tiles_in_stage_col<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn tiles_in_stage_mk(&self) -> u32

Source

pub fn tiles_in_stage_nk(&self) -> u32

Source

pub fn tiles_in_stage_mn(&self) -> u32

Source

pub fn tiles_in_stage<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_stage_m(&self) -> u32

Source

pub fn elements_in_stage_n(&self) -> u32

Source

pub fn elements_in_stage_k(&self) -> u32

Source

pub fn elements_in_stage_row<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_stage_col<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_stage_mk(&self) -> u32

Source

pub fn elements_in_stage_nk(&self) -> u32

Source

pub fn elements_in_stage_mn(&self) -> u32

Source

pub fn elements_in_stage<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn tiles_in_stage_partition_m(&self) -> u32

Source

pub fn tiles_in_stage_partition_n(&self) -> u32

Source

pub fn tiles_in_stage_partition_k(&self) -> u32

Source

pub fn tiles_in_stage_partition_row<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn tiles_in_stage_partition_col<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn tiles_in_stage_partition_mk(&self) -> u32

Source

pub fn tiles_in_stage_partition_nk(&self) -> u32

Source

pub fn tiles_in_stage_partition_mn(&self) -> u32

Source

pub fn tiles_in_stage_partition<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_stage_partition_m(&self) -> u32

Source

pub fn elements_in_stage_partition_n(&self) -> u32

Source

pub fn elements_in_stage_partition_k(&self) -> u32

Source

pub fn elements_in_stage_partition_row<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_stage_partition_col<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_stage_partition_mk(&self) -> u32

Source

pub fn elements_in_stage_partition_nk(&self) -> u32

Source

pub fn elements_in_stage_partition_mn(&self) -> u32

Source

pub fn elements_in_stage_partition<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_tile_m(&self) -> u32

Source

pub fn elements_in_tile_n(&self) -> u32

Source

pub fn elements_in_tile_k(&self) -> u32

Source

pub fn elements_in_tile_row<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_tile_col<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_tile_mk(&self) -> u32

Source

pub fn elements_in_tile_nk(&self) -> u32

Source

pub fn elements_in_tile_mn(&self) -> u32

Source

pub fn elements_in_tile<I: Into<Ident>>(&self, ident: I) -> u32

Source

pub fn elements_in_global_partition_m(&self) -> u32

Source

pub fn elements_in_global_partition_n(&self) -> u32

Source

pub fn tiles_in_global_partition_m(&self) -> u32

Source

pub fn tiles_in_global_partition_n(&self) -> u32

Source

pub fn stage_partitions_in_global_partition_m(&self) -> u32

Source

pub fn stage_partitions_in_global_partition_n(&self) -> u32

Source

pub fn stages_in_global_partition_m(&self) -> u32

Source

pub fn stages_in_global_partition_n(&self) -> u32

Trait Implementations§

Source§

impl Clone for TilingScheme

Source§

fn clone(&self) -> TilingScheme

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TilingScheme

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for TilingScheme

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for TilingScheme

Source§

fn eq(&self, other: &TilingScheme) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for TilingScheme

Source§

impl Eq for TilingScheme

Source§

impl StructuralPartialEq for TilingScheme

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> CubeComptime for T
where T: Debug + Hash + Eq + Clone + Copy,