pub struct TensorMapInputs<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive> {
pub lhs: View<Lhs, BatchedCoords>,
pub rhs: View<Rhs, BatchedCoords>,
pub acc: ComptimeOption<View<EO, BatchedCoords>>,
pub acc_batch: ComptimeOption<VirtualLayout<Coords1d, Coords1d>>,
}Expand description
Input representation for TensorArgs implementing MatmulArgs.
Fields§
§lhs: View<Lhs, BatchedCoords>The lhs tensor.
rhs: View<Rhs, BatchedCoords>The rhs tensor.
acc: ComptimeOption<View<EO, BatchedCoords>>The accumulator
acc_batch: ComptimeOption<VirtualLayout<Coords1d, Coords1d>>The accumulator batch layout
Trait Implementations§
Source§impl<Lhs: Clone + RudaPrimitive, Rhs: Clone + RudaPrimitive, EO: Clone + RudaPrimitive> Clone for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs: Clone + RudaPrimitive, Rhs: Clone + RudaPrimitive, EO: Clone + RudaPrimitive> Clone for TensorMapInputs<Lhs, Rhs, EO>
Source§impl<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive, A: Routine<()>> ConcreteInputsFactory<A> for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive, A: Routine<()>> ConcreteInputsFactory<A> for TensorMapInputs<Lhs, Rhs, EO>
fn create<R: Runtime>( lhs_handle: InputBinding<R>, rhs_handle: InputBinding<R>, blueprint: &A::Blueprint, problem: &MatmulProblem, _vector_sizes: &MatmulVectorSizes, dtypes: &MatmulElems, ) -> Self::RuntimeArg<R>
impl<Lhs: Copy + RudaPrimitive, Rhs: Copy + RudaPrimitive, EO: Copy + RudaPrimitive> Copy for TensorMapInputs<Lhs, Rhs, EO>
Source§impl<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive> LaunchArg for TensorMapInputs<Lhs, Rhs, EO>where
View<Lhs, BatchedCoords>: LaunchArg,
View<Rhs, BatchedCoords>: LaunchArg,
ComptimeOption<View<EO, BatchedCoords>>: LaunchArg,
impl<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive> LaunchArg for TensorMapInputs<Lhs, Rhs, EO>where
View<Lhs, BatchedCoords>: LaunchArg,
View<Rhs, BatchedCoords>: LaunchArg,
ComptimeOption<View<EO, BatchedCoords>>: LaunchArg,
Source§type RuntimeArg<R: Runtime> = TensorMapInputsLaunch<Lhs, Rhs, EO, R>
type RuntimeArg<R: Runtime> = TensorMapInputsLaunch<Lhs, Rhs, EO, R>
The runtime argument for the kernel.
Source§type CompilationArg = TensorMapInputsCompilationArg<Lhs, Rhs, EO>
type CompilationArg = TensorMapInputsCompilationArg<Lhs, Rhs, EO>
Compilation argument.
fn register<R: Runtime>( arg: Self::RuntimeArg<R>, launcher: &mut KernelLauncher<R>, ) -> Self::CompilationArg
Source§fn expand(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> <Self as RudaType>::ExpandType
fn expand( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as RudaType>::ExpandType
Register an input variable during compilation that fill the
KernelBuilder.Source§fn expand_output(
arg: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> <Self as RudaType>::ExpandType
fn expand_output( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as RudaType>::ExpandType
Register an output variable during compilation that fill the
KernelBuilder.Source§impl<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive> RudaType for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs: RudaPrimitive, Rhs: RudaPrimitive, EO: RudaPrimitive> RudaType for TensorMapInputs<Lhs, Rhs, EO>
type ExpandType = TensorMapInputsExpand<Lhs, Rhs, EO>
Auto Trait Implementations§
impl<Lhs, Rhs, EO> Freeze for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs, Rhs, EO> RefUnwindSafe for TensorMapInputs<Lhs, Rhs, EO>where
View<Lhs, (usize, u32, u32)>: RefUnwindSafe,
View<Rhs, (usize, u32, u32)>: RefUnwindSafe,
ComptimeOption<View<EO, (usize, u32, u32)>>: RefUnwindSafe,
impl<Lhs, Rhs, EO> Send for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs, Rhs, EO> Sync for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs, Rhs, EO> Unpin for TensorMapInputs<Lhs, Rhs, EO>
impl<Lhs, Rhs, EO> UnsafeUnpin for TensorMapInputs<Lhs, Rhs, EO>where
View<Lhs, (usize, u32, u32)>: UnsafeUnpin,
View<Rhs, (usize, u32, u32)>: UnsafeUnpin,
ComptimeOption<View<EO, (usize, u32, u32)>>: UnsafeUnpin,
impl<Lhs, Rhs, EO> UnwindSafe for TensorMapInputs<Lhs, Rhs, EO>where
View<Lhs, (usize, u32, u32)>: UnwindSafe,
View<Rhs, (usize, u32, u32)>: UnwindSafe,
ComptimeOption<View<EO, (usize, u32, u32)>>: 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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> RuntimeConfig for T
Source§impl<T> TuneInputs for T
impl<T> TuneInputs for T
Source§impl<T> ViewLayoutLaunchArg for Twhere
T: LaunchArg,
impl<T> ViewLayoutLaunchArg for Twhere
T: LaunchArg,
Source§type RuntimeArg<R: Runtime> = <T as LaunchArg>::RuntimeArg<R>
type RuntimeArg<R: Runtime> = <T as LaunchArg>::RuntimeArg<R>
The runtime argument for the kernel.
Source§type CompilationArg = <T as LaunchArg>::CompilationArg
type CompilationArg = <T as LaunchArg>::CompilationArg
Compilation argument.
fn register<R, B>( arg: <T as ViewLayoutLaunchArg>::RuntimeArg<R>, _buffer: &B, _ty: Type, launcher: &mut KernelLauncher<R>, ) -> <T as ViewLayoutLaunchArg>::CompilationArg
Source§fn expand(
arg: &<T as ViewLayoutLaunchArg>::CompilationArg,
_ty: Type,
builder: &mut KernelBuilder,
) -> <T as RudaType>::ExpandType
fn expand( arg: &<T as ViewLayoutLaunchArg>::CompilationArg, _ty: Type, builder: &mut KernelBuilder, ) -> <T as RudaType>::ExpandType
Register an input variable during compilation that fill the
KernelBuilder.Source§fn expand_output(
arg: &<T as ViewLayoutLaunchArg>::CompilationArg,
_ty: Type,
builder: &mut KernelBuilder,
) -> <T as RudaType>::ExpandType
fn expand_output( arg: &<T as ViewLayoutLaunchArg>::CompilationArg, _ty: Type, builder: &mut KernelBuilder, ) -> <T as RudaType>::ExpandType
Register an output variable during compilation that fill the
KernelBuilder.