pub enum PlaneFlowPartitionExpand {
MainFlowOnly,
LoadOnlyFirst(<PartitionThreshold as CubeType>::ExpandType),
LoadOnlyLast(<PartitionThreshold as CubeType>::ExpandType),
}Variants§
MainFlowOnly
LoadOnlyFirst(<PartitionThreshold as CubeType>::ExpandType)
LoadOnlyLast(<PartitionThreshold as CubeType>::ExpandType)
Implementations§
Source§impl PlaneFlowPartitionExpand
impl PlaneFlowPartitionExpand
Sourcepub fn __expand_compute_index_method(
self,
scope: &Scope,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_compute_index_method( self, scope: &Scope, ) -> <u32 as CubeType>::ExpandType
The index of the current plane among planes that perform compute, ignoring load-only planes.
Sourcepub fn __expand_load_index_method(
self,
scope: &Scope,
specialization_tensor_config: InputLoadFlow,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_load_index_method( self, scope: &Scope, specialization_tensor_config: InputLoadFlow, ) -> <u32 as CubeType>::ExpandType
The index of the current plane among planes that perform loading,
ignoring any plane that does not participate for this ident.
Sourcepub fn __expand_elect_load_leader_method(
&self,
scope: &Scope,
) -> <bool as CubeType>::ExpandType
pub fn __expand_elect_load_leader_method( &self, scope: &Scope, ) -> <bool as CubeType>::ExpandType
Whether this unit is the leader of the loading units. Always the lowest
unit in the correct group. Used by TMA; plane_broadcast / plane_elect
keep the value warp-uniform.
Sourcepub fn __expand_is_load_plane_method(
self,
scope: &Scope,
) -> <bool as CubeType>::ExpandType
pub fn __expand_is_load_plane_method( self, scope: &Scope, ) -> <bool as CubeType>::ExpandType
Whether the current plane is a load-only plane.
Sourcepub fn __expand_is_compute_plane_method(
self,
scope: &Scope,
) -> <bool as CubeType>::ExpandType
pub fn __expand_is_compute_plane_method( self, scope: &Scope, ) -> <bool as CubeType>::ExpandType
Whether this plane is part of the compute planes. Used in specialized
kernels; plane_broadcast keeps the value warp-uniform.
Sourcepub fn __expand_new(
scope: &Scope,
comptime_rule: PlaneFlowPartitionRule,
) -> <PlaneFlowPartition as CubeType>::ExpandType
pub fn __expand_new( scope: &Scope, comptime_rule: PlaneFlowPartitionRule, ) -> <PlaneFlowPartition as CubeType>::ExpandType
Construct from comptime rule.
Sourcepub fn __expand_compute_index(
scope: &Scope,
this: Self,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_compute_index( scope: &Scope, this: Self, ) -> <u32 as CubeType>::ExpandType
The index of the current plane among planes that perform compute, ignoring load-only planes.
Sourcepub fn __expand_load_index(
scope: &Scope,
this: Self,
specialization_tensor_config: InputLoadFlow,
) -> <u32 as CubeType>::ExpandType
pub fn __expand_load_index( scope: &Scope, this: Self, specialization_tensor_config: InputLoadFlow, ) -> <u32 as CubeType>::ExpandType
The index of the current plane among planes that perform loading,
ignoring any plane that does not participate for this ident.
Sourcepub fn __expand_elect_load_leader(
scope: &Scope,
this: &Self,
) -> <bool as CubeType>::ExpandType
pub fn __expand_elect_load_leader( scope: &Scope, this: &Self, ) -> <bool as CubeType>::ExpandType
Whether this unit is the leader of the loading units. Always the lowest
unit in the correct group. Used by TMA; plane_broadcast / plane_elect
keep the value warp-uniform.
Sourcepub fn __expand_is_load_plane(
scope: &Scope,
this: Self,
) -> <bool as CubeType>::ExpandType
pub fn __expand_is_load_plane( scope: &Scope, this: Self, ) -> <bool as CubeType>::ExpandType
Whether the current plane is a load-only plane.
Sourcepub fn __expand_is_compute_plane(
scope: &Scope,
this: Self,
) -> <bool as CubeType>::ExpandType
pub fn __expand_is_compute_plane( scope: &Scope, this: Self, ) -> <bool as CubeType>::ExpandType
Whether this plane is part of the compute planes. Used in specialized
kernels; plane_broadcast keeps the value warp-uniform.
Trait Implementations§
Source§impl AsMutExpand for PlaneFlowPartitionExpand
impl AsMutExpand for PlaneFlowPartitionExpand
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 PlaneFlowPartitionExpand
impl AsRefExpand for PlaneFlowPartitionExpand
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl CubeDebug for PlaneFlowPartitionExpand
impl CubeDebug for PlaneFlowPartitionExpand
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Source§impl CubeEnum for PlaneFlowPartitionExpand
impl CubeEnum for PlaneFlowPartitionExpand
type RuntimeValue = ()
fn discriminant(&self) -> NativeExpand<i32>
Source§fn runtime_value(self) -> Self::RuntimeValue
fn runtime_value(self) -> Self::RuntimeValue
fn discriminant_of(variant_name: &'static str) -> i32
fn discriminant_of_value(&self, variant_name: &'static str) -> i32
Source§impl ExpandTypeClone for PlaneFlowPartitionExpand
impl ExpandTypeClone for PlaneFlowPartitionExpand
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
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 PlaneFlowPartitionExpand
impl IntoExpand for PlaneFlowPartitionExpand
type Expand = PlaneFlowPartitionExpand
fn into_expand(self, _: &Scope) -> Self
Auto Trait Implementations§
impl Freeze for PlaneFlowPartitionExpand
impl RefUnwindSafe for PlaneFlowPartitionExpand
impl Send for PlaneFlowPartitionExpand
impl Sync for PlaneFlowPartitionExpand
impl Unpin for PlaneFlowPartitionExpand
impl UnsafeUnpin for PlaneFlowPartitionExpand
impl UnwindSafe for PlaneFlowPartitionExpand
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
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>
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>
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