pub enum Output<'a, E: Numeric> {
Tensor(TileArg<'a>),
Atomic(AccumulateArg<'a, E>),
}Expand description
The operand a kernel leaves by: a tensor read and replaced (TileArg), or an atomic tensor
added into and never read (AccumulateArg).
Variants§
Tensor(TileArg<'a>)
Atomic(AccumulateArg<'a, E>)
Implementations§
Source§impl<'a, E: Numeric> Output<'a, E>
impl<'a, E: Numeric> Output<'a, E>
pub fn new_Tensor(_0: TileArg<'a>) -> Self
pub fn __expand_new_Tensor( _: &Scope, _0: <TileArg<'a> as CubeType>::ExpandType, ) -> OutputExpand<'a, E>
pub fn new_Atomic(_0: AccumulateArg<'a, E>) -> Self
pub fn __expand_new_Atomic( _: &Scope, _0: <AccumulateArg<'a, E> as CubeType>::ExpandType, ) -> OutputExpand<'a, E>
Source§impl<'a, E: Numeric> Output<'a, E>
impl<'a, E: Numeric> Output<'a, E>
Sourcepub fn tile(&self, partitioning: &Partitioning) -> Tile
pub fn tile(&self, partitioning: &Partitioning) -> Tile
Serve this operand as a Tile under the kernel’s one partitioning.
Sourcepub fn __expand_tile(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
partitioning: &<Partitioning as CubeType>::ExpandType,
) -> <Tile as CubeType>::ExpandType
pub fn __expand_tile( scope: &Scope, this: &<Self as CubeType>::ExpandType, partitioning: &<Partitioning as CubeType>::ExpandType, ) -> <Tile as CubeType>::ExpandType
Serve this operand as a Tile under the kernel’s one partitioning.
Trait Implementations§
Source§impl<'a, E: Numeric> CubeDebug for Output<'a, E>
impl<'a, E: Numeric> CubeDebug for Output<'a, E>
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<'a, E: Numeric> LaunchArg for Output<'a, E>where
AccumulateArg<'a, E>: LaunchArg,
impl<'a, E: Numeric> LaunchArg for Output<'a, E>where
AccumulateArg<'a, E>: LaunchArg,
Source§type RuntimeArg = OutputArgs<'a, E>
type RuntimeArg = OutputArgs<'a, E>
The runtime argument for the kernel.
Source§type CompilationArg = OutputCompilationArg<'a, E>
type CompilationArg = OutputCompilationArg<'a, E>
Compilation argument.
fn register( runtime_arg: Self::RuntimeArg, launcher: &mut KernelLauncher, ) -> Self::CompilationArg
Source§fn expand(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
fn expand( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register a variable during compilation that fill the
KernelBuilder.Auto Trait Implementations§
impl<'a, E> Freeze for Output<'a, E>where
AccumulateArg<'a, E>: Freeze,
impl<'a, E> RefUnwindSafe for Output<'a, E>where
AccumulateArg<'a, E>: RefUnwindSafe,
impl<'a, E> Send for Output<'a, E>where
AccumulateArg<'a, E>: Send,
impl<'a, E> Sync for Output<'a, E>where
AccumulateArg<'a, E>: Sync,
impl<'a, E> Unpin for Output<'a, E>where
AccumulateArg<'a, E>: Unpin,
impl<'a, E> UnsafeUnpin for Output<'a, E>where
AccumulateArg<'a, E>: UnsafeUnpin,
impl<'a, E> UnwindSafe for Output<'a, E>where
AccumulateArg<'a, E>: UnwindSafe,
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> 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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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
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> ⓘ
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ViewLayoutLaunchArg for T
impl<T> ViewLayoutLaunchArg for T
Source§type RuntimeArg = <T as LaunchArg>::RuntimeArg
type RuntimeArg = <T as LaunchArg>::RuntimeArg
The runtime argument for the kernel.
Source§type CompilationArg = <T as LaunchArg>::CompilationArg
type CompilationArg = <T as LaunchArg>::CompilationArg
Compilation argument.
fn register<B>(
arg: <T as ViewLayoutLaunchArg>::RuntimeArg,
_buffer: &B,
_ty: Type,
launcher: &mut KernelLauncher,
) -> <T as ViewLayoutLaunchArg>::CompilationArgwhere
B: MemoryArg,
Source§fn expand(
arg: &<T as ViewLayoutLaunchArg>::CompilationArg,
_ty: Type,
builder: &mut KernelBuilder,
) -> <T as CubeType>::ExpandType
fn expand( arg: &<T as ViewLayoutLaunchArg>::CompilationArg, _ty: Type, builder: &mut KernelBuilder, ) -> <T as CubeType>::ExpandType
Register an input variable during compilation that fill the
KernelBuilder.Source§fn expand_output(
arg: &Self::CompilationArg,
ty: Type,
builder: &mut KernelBuilder,
) -> Self::ExpandType
fn expand_output( arg: &Self::CompilationArg, ty: Type, builder: &mut KernelBuilder, ) -> Self::ExpandType
Register an output variable during compilation that fill the
KernelBuilder.