pub struct TensorInputsLaunch<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, R: LaunchMarker>where
Tensor<Vector<Q::T, Q::N>>: LaunchArg,
Tensor<Vector<K::T, K::N>>: LaunchArg,
Tensor<Vector<V::T, V::N>>: LaunchArg,
ComptimeOption<Tensor<Vector<M::T, M::N>>>: LaunchArg,{
pub query: <Tensor<Vector<Q::T, Q::N>> as LaunchArg>::RuntimeArg<R>,
pub key: <Tensor<Vector<K::T, K::N>> as LaunchArg>::RuntimeArg<R>,
pub value: <Tensor<Vector<V::T, V::N>> as LaunchArg>::RuntimeArg<R>,
pub mask: <ComptimeOption<Tensor<Vector<M::T, M::N>>> as LaunchArg>::RuntimeArg<R>,
/* private fields */
}Fields§
§query: <Tensor<Vector<Q::T, Q::N>> as LaunchArg>::RuntimeArg<R>§key: <Tensor<Vector<K::T, K::N>> as LaunchArg>::RuntimeArg<R>§value: <Tensor<Vector<V::T, V::N>> as LaunchArg>::RuntimeArg<R>§mask: <ComptimeOption<Tensor<Vector<M::T, M::N>>> as LaunchArg>::RuntimeArg<R>Implementations§
Source§impl<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, R: LaunchMarker> TensorInputsLaunch<Q, K, V, M, R>
impl<Q: FloatLine, K: FloatLine, V: FloatLine, M: NumericLine, R: LaunchMarker> TensorInputsLaunch<Q, K, V, M, R>
Sourcepub fn new(
query: <Tensor<Vector<Q::T, Q::N>> as LaunchArg>::RuntimeArg<R>,
key: <Tensor<Vector<K::T, K::N>> as LaunchArg>::RuntimeArg<R>,
value: <Tensor<Vector<V::T, V::N>> as LaunchArg>::RuntimeArg<R>,
mask: <ComptimeOption<Tensor<Vector<M::T, M::N>>> as LaunchArg>::RuntimeArg<R>,
) -> Self
pub fn new( query: <Tensor<Vector<Q::T, Q::N>> as LaunchArg>::RuntimeArg<R>, key: <Tensor<Vector<K::T, K::N>> as LaunchArg>::RuntimeArg<R>, value: <Tensor<Vector<V::T, V::N>> as LaunchArg>::RuntimeArg<R>, mask: <ComptimeOption<Tensor<Vector<M::T, M::N>>> as LaunchArg>::RuntimeArg<R>, ) -> Self
New kernel
Auto Trait Implementations§
impl<Q, K, V, M, R> !Freeze for TensorInputsLaunch<Q, K, V, M, R>
impl<Q, K, V, M, R> !RefUnwindSafe for TensorInputsLaunch<Q, K, V, M, R>
impl<Q, K, V, M, R> !Unpin for TensorInputsLaunch<Q, K, V, M, R>
impl<Q, K, V, M, R> !UnsafeUnpin for TensorInputsLaunch<Q, K, V, M, R>
impl<Q, K, V, M, R> !UnwindSafe for TensorInputsLaunch<Q, K, V, M, R>
impl<Q, K, V, M, R> Send for TensorInputsLaunch<Q, K, V, M, R>where
PhantomData<R>: Send,
<Tensor<Vector<<Q as FloatLine>::T, <Q as FloatLine>::N>> as LaunchArg>::RuntimeArg<R>: Send,
<Tensor<Vector<<K as FloatLine>::T, <K as FloatLine>::N>> as LaunchArg>::RuntimeArg<R>: Send,
<Tensor<Vector<<V as FloatLine>::T, <V as FloatLine>::N>> as LaunchArg>::RuntimeArg<R>: Send,
<ComptimeOption<Tensor<Vector<<M as NumericLine>::T, <M as NumericLine>::N>>> as LaunchArg>::RuntimeArg<R>: Send,
impl<Q, K, V, M, R> Sync for TensorInputsLaunch<Q, K, V, M, R>where
PhantomData<R>: Sync,
<Tensor<Vector<<Q as FloatLine>::T, <Q as FloatLine>::N>> as LaunchArg>::RuntimeArg<R>: Sync,
<Tensor<Vector<<K as FloatLine>::T, <K as FloatLine>::N>> as LaunchArg>::RuntimeArg<R>: Sync,
<Tensor<Vector<<V as FloatLine>::T, <V as FloatLine>::N>> as LaunchArg>::RuntimeArg<R>: Sync,
<ComptimeOption<Tensor<Vector<<M as NumericLine>::T, <M as NumericLine>::N>>> as LaunchArg>::RuntimeArg<R>: Sync,
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