Skip to main content

TensorArgs

Struct TensorArgs 

Source
pub struct TensorArgs;
Expand description

Type implementing AttentionArgs where all inputs and the output are materialized tensors.

Other types might implement AttentionArgs for fused matrix multiplication kernels.

Trait Implementations§

Source§

impl AttentionArgs for TensorArgs

Source§

type Input<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine> = TensorInputs<Q, K, V, M>

Type used for the input.
Source§

type Output<O: FloatLine> = Tensor<Vector<<O as FloatLine>::T, <O as FloatLine>::N>>

Type used for the output.
Source§

type State<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine> = AttentionState<Q, K, V, M, O>

Inner state that is used to create tensor inputs and tensor outputs .
Source§

fn init_state<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( input: &Self::Input<Q, K, V, M>, output: &mut Self::Output<O>, ) -> Self::State<Q, K, V, M, O>

Init the state.
Source§

fn has_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> ComptimeOption<()>

Whether the mask argument is present. Returns Option to allow matching at comptime
Source§

fn read_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, coordinate: usize, ) -> Vector<Q::T, Q::N>

Read the vector of the query tensor using the state at the given coordinate.
Source§

fn read_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, coordinate: usize, ) -> Vector<K::T, K::N>

Read the vector of the key tensor using the state at the given coordinate.
Source§

fn read_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, coordinate: usize, ) -> Vector<V::T, V::N>

Read the vector of the value tensor using the state at the given coordinate.
Source§

fn read_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, coordinate: usize, ) -> Vector<M::T, M::N>

Read the vector of the mask tensor using the state at the given coordinate.
Source§

fn read_window_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, start: usize, end: usize, ) -> Slice<Vector<Q::T, Q::N>> ⓘ

Read the vector of the query tensor using the state at the given coordinate.
Source§

fn read_window_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, start: usize, end: usize, ) -> Slice<Vector<K::T, K::N>> ⓘ

Read the vector of the key tensor using the state at the given coordinate.
Source§

fn read_window_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, start: usize, end: usize, ) -> Slice<Vector<V::T, V::N>> ⓘ

Read the vector of the value tensor using the state at the given coordinate.
Source§

fn read_window_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, start: usize, end: usize, ) -> Slice<Vector<M::T, M::N>> ⓘ

Read the vector of the mask tensor using the state at the given coordinate.
Source§

fn as_tensor_map_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( _state: &Self::State<Q, K, V, M, O>, ) -> ComptimeOption<TensorMap<Q::T, Tiled>>

Reinterpret query as tensor map
Source§

fn as_tensor_map_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( _state: &Self::State<Q, K, V, M, O>, ) -> ComptimeOption<TensorMap<K::T, Tiled>>

Reinterpret key as tensor map
Source§

fn as_tensor_map_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( _state: &Self::State<Q, K, V, M, O>, ) -> ComptimeOption<TensorMap<V::T, Tiled>>

Reinterpret value as tensor map
Source§

fn as_tensor_map_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( _state: &Self::State<Q, K, V, M, O>, ) -> ComptimeOption<TensorMap<M::T, Tiled>>

Reinterpret mask as tensor map
Source§

fn shape_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the shape of the query tensor using the state.
Source§

fn shape_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the shape of the key tensor using the state.
Source§

fn shape_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the shape of the value tensor using the state.
Source§

fn shape_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the shape of the mask tensor using the state.
Source§

fn shape_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the shape of the out tensor using the state.
Source§

fn stride_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the stride of the query tensor using the state.
Source§

fn stride_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the stride of the key tensor using the state.
Source§

fn stride_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the stride of the value tensor using the state.
Source§

fn stride_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the stride of the mask tensor using the state.
Source§

fn stride_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, dim: usize, ) -> usize

Get the stride of the out tensor using the state.
Source§

fn write_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &mut Self::State<Q, K, V, M, O>, coordinate: usize, val: Vector<O::T, O::N>, )

Write the vector to the output at the given coordinate using the state.
Source§

fn rank_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the rank of the query tensor using the state.
Source§

fn rank_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the rank of the key tensor using the state.
Source§

fn rank_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the rank of the value tensor using the state.
Source§

fn rank_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the rank of the mask tensor using the state.
Source§

fn rank_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the rank of the out tensor using the state.
Source§

fn len_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the length of the query tensor using the state.
Source§

fn len_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the length of the key tensor using the state.
Source§

fn len_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the length of the value tensor using the state.
Source§

fn len_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the length of the mask tensor using the state.
Source§

fn len_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the length of the out tensor using the state.
Source§

fn buffer_len_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the buffer length of the query tensor using the state.
Source§

fn buffer_len_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the buffer length of the key tensor using the state.
Source§

fn buffer_len_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the buffer length of the value tensor using the state.
Source§

fn buffer_len_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the buffer length of the mask tensor using the state.
Source§

fn buffer_len_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the buffer length of the out tensor using the state.
Source§

fn vector_size_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the vector size of the query tensor using the state.
Source§

fn vector_size_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the vector size of the key tensor using the state.
Source§

fn vector_size_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the vector size of the value tensor using the state.
Source§

fn vector_size_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the vector size of the mask tensor using the state.
Source§

fn vector_size_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( state: &Self::State<Q, K, V, M, O>, ) -> usize

Get the vector size of the out tensor using the state.
Source§

fn __expand_init_state<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, input: <Self::Input<Q, K, V, M> as RudaType>::ExpandType, output: <Self::Output<O> as RudaType>::ExpandType, ) -> <Self::State<Q, K, V, M, O> as RudaType>::ExpandType

Source§

fn __expand_has_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <ComptimeOption<()> as RudaType>::ExpandType

Source§

fn __expand_read_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, coordinate: <usize as RudaType>::ExpandType, ) -> <Vector<Q::T, Q::N> as RudaType>::ExpandType

Source§

fn __expand_read_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, coordinate: <usize as RudaType>::ExpandType, ) -> <Vector<K::T, K::N> as RudaType>::ExpandType

Source§

fn __expand_read_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, coordinate: <usize as RudaType>::ExpandType, ) -> <Vector<V::T, V::N> as RudaType>::ExpandType

Source§

fn __expand_read_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, coordinate: <usize as RudaType>::ExpandType, ) -> <Vector<M::T, M::N> as RudaType>::ExpandType

Source§

fn __expand_read_window_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, start: <usize as RudaType>::ExpandType, end: <usize as RudaType>::ExpandType, ) -> <Slice<Vector<Q::T, Q::N>> as RudaType>::ExpandType ⓘ

Source§

fn __expand_read_window_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, start: <usize as RudaType>::ExpandType, end: <usize as RudaType>::ExpandType, ) -> <Slice<Vector<K::T, K::N>> as RudaType>::ExpandType ⓘ

Source§

fn __expand_read_window_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, start: <usize as RudaType>::ExpandType, end: <usize as RudaType>::ExpandType, ) -> <Slice<Vector<V::T, V::N>> as RudaType>::ExpandType ⓘ

Source§

fn __expand_read_window_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, start: <usize as RudaType>::ExpandType, end: <usize as RudaType>::ExpandType, ) -> <Slice<Vector<M::T, M::N>> as RudaType>::ExpandType ⓘ

Source§

fn __expand_as_tensor_map_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, _state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <ComptimeOption<TensorMap<Q::T, Tiled>> as RudaType>::ExpandType

Source§

fn __expand_as_tensor_map_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, _state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <ComptimeOption<TensorMap<K::T, Tiled>> as RudaType>::ExpandType

Source§

fn __expand_as_tensor_map_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, _state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <ComptimeOption<TensorMap<V::T, Tiled>> as RudaType>::ExpandType

Source§

fn __expand_as_tensor_map_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, _state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <ComptimeOption<TensorMap<M::T, Tiled>> as RudaType>::ExpandType

Source§

fn __expand_shape_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_shape_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_shape_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_shape_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_shape_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_stride_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_stride_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_stride_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_stride_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_stride_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, dim: <usize as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_write_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, coordinate: <usize as RudaType>::ExpandType, val: <Vector<O::T, O::N> as RudaType>::ExpandType, ) -> <() as RudaType>::ExpandType

Source§

fn __expand_rank_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_rank_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_rank_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_rank_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_rank_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_len_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_len_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_len_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_len_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_len_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_buffer_len_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_buffer_len_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_buffer_len_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_buffer_len_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_buffer_len_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> <usize as RudaType>::ExpandType

Source§

fn __expand_vector_size_query<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> usize

Source§

fn __expand_vector_size_key<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> usize

Source§

fn __expand_vector_size_value<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> usize

Source§

fn __expand_vector_size_mask<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> usize

Source§

fn __expand_vector_size_out<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, O: FloatLine>( scope: &mut Scope, state: <Self::State<Q, K, V, M, O> as RudaType>::ExpandType, ) -> usize

Source§

impl Clone for TensorArgs

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoComptime for T

Source§

fn comptime(self) -> Self

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TuneInputs for T
where T: Clone + Send + Sync + 'static,

Source§

type At<'a> = T

The concrete input type at lifetime 'a.