pub struct TensorInputs<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> {
    pub lhs: View<Line<Lhs>, Coords3d>,
    pub rhs: View<Line<Rhs>, Coords3d>,
    pub acc: CubeOption<View<Line<Acc>, Coords3d>>,
}Expand description
Input representation for TensorArgs implementing MatmulArgs.
Fields§
§lhs: View<Line<Lhs>, Coords3d>The lhs tensor.
rhs: View<Line<Rhs>, Coords3d>The rhs tensor.
acc: CubeOption<View<Line<Acc>, Coords3d>>The tensor for loading the accumulator, if present
Trait Implementations§
Source§impl<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> ConcreteInputsFactory for TensorInputs<Lhs, Rhs, Acc>
 
impl<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> ConcreteInputsFactory for TensorInputs<Lhs, Rhs, Acc>
fn create<'a, R: Runtime>( client: &ComputeClient<R::Server>, lhs: &'a MatmulInputHandleRef<'a, R>, rhs: &'a MatmulInputHandleRef<'a, R>, _selection: &MatmulSelection, problem: &MatmulProblem, line_sizes: &MatmulLineSizes, config: impl BatchConfig, ) -> Self::RuntimeArg<'a, R>
Source§impl<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> CubeType for TensorInputs<Lhs, Rhs, Acc>
 
impl<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> CubeType for TensorInputs<Lhs, Rhs, Acc>
type ExpandType = TensorInputsExpand<Lhs, Rhs, Acc>
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
 
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> LaunchArg for TensorInputs<Lhs, Rhs, Acc>
 
impl<Lhs: Numeric, Rhs: Numeric, Acc: Numeric> LaunchArg for TensorInputs<Lhs, Rhs, Acc>
Source§type RuntimeArg<'a, R: Runtime> = TensorInputsLaunch<'a, Lhs, Rhs, Acc, R>
 
type RuntimeArg<'a, R: Runtime> = TensorInputsLaunch<'a, Lhs, Rhs, Acc, R>
The runtime argument for the kernel.
Source§type CompilationArg = TensorInputsCompilationArg<Lhs, Rhs, Acc>
 
type CompilationArg = TensorInputsCompilationArg<Lhs, Rhs, Acc>
Compilation argument.
fn compilation_arg<'a, R: Runtime>( runtime_arg: &Self::RuntimeArg<'a, R>, ) -> 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 an input variable during compilation that fill the KernelBuilder.
Source§fn expand_output(
    arg: &Self::CompilationArg,
    builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
 
fn expand_output( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an output variable during compilation that fill the KernelBuilder.
Auto Trait Implementations§
impl<Lhs, Rhs, Acc> Freeze for TensorInputs<Lhs, Rhs, Acc>
impl<Lhs, Rhs, Acc> RefUnwindSafe for TensorInputs<Lhs, Rhs, Acc>
impl<Lhs, Rhs, Acc> Send for TensorInputs<Lhs, Rhs, Acc>
impl<Lhs, Rhs, Acc> Sync for TensorInputs<Lhs, Rhs, Acc>
impl<Lhs, Rhs, Acc> Unpin for TensorInputs<Lhs, Rhs, Acc>
impl<Lhs, Rhs, Acc> UnwindSafe for TensorInputs<Lhs, Rhs, Acc>
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