pub struct PartitionSchedulerExpand {
pub m: <AxisScheduler as CubeType>::ExpandType,
pub n: <AxisScheduler as CubeType>::ExpandType,
pub k: <AxisScheduler as CubeType>::ExpandType,
}Fields§
§m: <AxisScheduler as CubeType>::ExpandType§n: <AxisScheduler as CubeType>::ExpandType§k: <AxisScheduler as CubeType>::ExpandTypeImplementations§
Source§impl PartitionSchedulerExpand
impl PartitionSchedulerExpand
Sourcepub fn __expand_map_m_method(
&self,
scope: &Scope,
i: <u32 as CubeType>::ExpandType,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_map_m_method( &self, scope: &Scope, i: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
Maps a local M index to a global index.
Sourcepub fn __expand_map_n_method(
&self,
scope: &Scope,
i: <u32 as CubeType>::ExpandType,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_map_n_method( &self, scope: &Scope, i: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
Maps a local N index to a global index.
Sourcepub fn __expand_map_k_method(
&self,
scope: &Scope,
i: <u32 as CubeType>::ExpandType,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_map_k_method( &self, scope: &Scope, i: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
Maps a local K index to a global index.
Sourcepub fn __expand_new(
scope: &Scope,
partition_index_m: <u32 as CubeType>::ExpandType,
partition_index_n: <u32 as CubeType>::ExpandType,
partition_size: PartitionSize,
partition_schedule_scheme: PartitionSchedulerScheme,
) -> <PartitionScheduler as CubeType>::ExpandType
pub fn __expand_new( scope: &Scope, partition_index_m: <u32 as CubeType>::ExpandType, partition_index_n: <u32 as CubeType>::ExpandType, partition_size: PartitionSize, partition_schedule_scheme: PartitionSchedulerScheme, ) -> <PartitionScheduler as CubeType>::ExpandType
Creates a PartitionScheduler for a partition at (partition_index_m, partition_index_n).
Offset: rotates indices per axis to spread memory access and avoid conflicts.Naive: uses simple row-major order for partitions.
Sourcepub fn __expand_map_m(
scope: &Scope,
this: &Self,
i: <u32 as CubeType>::ExpandType,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_map_m( scope: &Scope, this: &Self, i: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
Maps a local M index to a global index.
Sourcepub fn __expand_map_n(
scope: &Scope,
this: &Self,
i: <u32 as CubeType>::ExpandType,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_map_n( scope: &Scope, this: &Self, i: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
Maps a local N index to a global index.
Sourcepub fn __expand_map_k(
scope: &Scope,
this: &Self,
i: <u32 as CubeType>::ExpandType,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_map_k( scope: &Scope, this: &Self, i: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
Maps a local K index to a global index.
Trait Implementations§
Source§impl AsMutExpand for PartitionSchedulerExpand
impl AsMutExpand for PartitionSchedulerExpand
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl AsRefExpand for PartitionSchedulerExpand
impl AsRefExpand for PartitionSchedulerExpand
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl CubeDebug for PartitionSchedulerExpand
impl CubeDebug for PartitionSchedulerExpand
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl ExpandTypeClone for PartitionSchedulerExpand
impl ExpandTypeClone for PartitionSchedulerExpand
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl IntoExpand for PartitionSchedulerExpand
impl IntoExpand for PartitionSchedulerExpand
type Expand = PartitionSchedulerExpand
fn into_expand(self, _: &Scope) -> Self
Auto Trait Implementations§
impl Freeze for PartitionSchedulerExpand
impl RefUnwindSafe for PartitionSchedulerExpand
impl Send for PartitionSchedulerExpand
impl Sync for PartitionSchedulerExpand
impl Unpin for PartitionSchedulerExpand
impl UnsafeUnpin for PartitionSchedulerExpand
impl UnwindSafe for PartitionSchedulerExpand
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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