pub struct StagedOperand {
pub element: ElemType,
pub space: Space,
pub innermost: Axis,
}Expand description
One operand’s box of a stage, as the ring that holds it reads it: what a stage of it costs in shared memory, and in registers where the next one waits there.
Fields§
§element: ElemTypeThe element the stage holds it in.
space: SpaceIts box of one stage, over its own axes.
innermost: AxisThe axis it is bound innermost along, which the stage’s rows run along.
Implementations§
Source§impl StagedOperand
impl StagedOperand
Sourcepub fn bytes(&self, hw: &Hardware, storage: &StageStorage) -> usize
pub fn bytes(&self, hw: &Hardware, storage: &StageStorage) -> usize
Bytes one stage holds of it on hw, laid out as storage, at its most over every width it
could bind at: the powers of two up to the widest line hw reads that its rows hold whole
lines of, each line whole bytes. Asked before the operands’ widths are settled.
Sourcepub fn most_prefetched(&self, hw: &Hardware, units: usize) -> usize
pub fn most_prefetched(&self, hw: &Hardware, units: usize) -> usize
Scalars one of units units holds of a stage of it fetched into registers, at its most
over every width it could bind at on hw: the powers of two up to the widest line hw
reads. Asked before the operands’ widths are settled.
Trait Implementations§
Source§impl Clone for StagedOperand
impl Clone for StagedOperand
Source§impl Debug for StagedOperand
impl Debug for StagedOperand
impl Eq for StagedOperand
Source§impl PartialEq for StagedOperand
impl PartialEq for StagedOperand
impl StructuralPartialEq for StagedOperand
Auto Trait Implementations§
impl Freeze for StagedOperand
impl RefUnwindSafe for StagedOperand
impl Send for StagedOperand
impl Sync for StagedOperand
impl Unpin for StagedOperand
impl UnsafeUnpin for StagedOperand
impl UnwindSafe for StagedOperand
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> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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