Skip to main content

RudaType

Trait RudaType 

Source
pub trait RudaType {
    type ExpandType: Clone + IntoMut + RudaDebug;
}
Expand description

Types used in a ruda function must implement this trait

Variables whose values will be known at runtime must have ManagedVariable as associated type Variables whose values will be known at compile time must have the primitive type as associated type

Note: Ruda functions should be written using RudaTypes, so that the code generated uses the associated ExpandType. This allows Ruda code to not necessitate cloning, which is cumbersome in algorithmic code. The necessary cloning will automatically appear in the generated code.

Required Associated Types§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl RudaType for ()

Source§

impl RudaType for Ordering

Source§

impl RudaType for bf16

Source§

impl RudaType for bool

Source§

impl RudaType for f16

Source§

impl RudaType for f32

Source§

impl RudaType for f64

Source§

impl RudaType for i8

Source§

impl RudaType for i16

Source§

impl RudaType for i32

Source§

impl RudaType for i64

Source§

impl RudaType for isize

Source§

impl RudaType for u8

Source§

impl RudaType for u16

Source§

impl RudaType for u32

Source§

impl RudaType for u64

Source§

impl RudaType for usize

Source§

impl<E: RudaPrimitive, K: TensorMapKind> RudaType for *const TensorMap<E, K>

Source§

impl<E: RudaPrimitive, K: TensorMapKind> RudaType for *mut TensorMap<E, K>

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType, P6: RudaType, P7: RudaType, P8: RudaType, P9: RudaType, P10: RudaType, P11: RudaType> RudaType for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType, P6: RudaType, P7: RudaType, P8: RudaType, P9: RudaType, P10: RudaType> RudaType for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType, P6: RudaType, P7: RudaType, P8: RudaType, P9: RudaType> RudaType for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType, P6: RudaType, P7: RudaType, P8: RudaType> RudaType for (P0, P1, P2, P3, P4, P5, P6, P7, P8)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType, P6: RudaType, P7: RudaType> RudaType for (P0, P1, P2, P3, P4, P5, P6, P7)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType, P6: RudaType> RudaType for (P0, P1, P2, P3, P4, P5, P6)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType, P5: RudaType> RudaType for (P0, P1, P2, P3, P4, P5)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType, P4: RudaType> RudaType for (P0, P1, P2, P3, P4)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType, P3: RudaType> RudaType for (P0, P1, P2, P3)

Source§

impl<P0: RudaType, P1: RudaType, P2: RudaType> RudaType for (P0, P1, P2)

Source§

impl<P0: RudaType, P1: RudaType> RudaType for (P0, P1)

Source§

impl<P0: RudaType> RudaType for (P0,)

Source§

impl<T: RudaType> RudaType for &mut Vec<T>

Source§

impl<T: RudaType> RudaType for *const Tensor<T>

Source§

impl<T: RudaType> RudaType for *mut Tensor<T>

Source§

impl<T: RudaType> RudaType for Option<T>

Source§

impl<T: RudaType> RudaType for Vec<T>

Implementors§

Source§

impl RudaType for Barrier

Source§

impl RudaType for BarrierToken

Source§

impl RudaType for Im2col

Source§

impl RudaType for Im2colWide

Source§

impl RudaType for InputScalar

Source§

impl RudaType for MatrixLayout

Source§

impl RudaType for Tiled

Source§

impl RudaType for e2m1

Source§

impl RudaType for e2m3

Source§

impl RudaType for e2m1x2

Source§

impl RudaType for e3m2

Source§

impl RudaType for e4m3

Source§

impl RudaType for e5m2

Source§

impl RudaType for flex32

Source§

impl RudaType for tf32

Source§

impl RudaType for ue8m0

Source§

impl<A: RudaType, B: RudaType, CD: RudaType> RudaType for MmaDefinition<A, B, CD>

Source§

impl<C: RudaType> RudaType for &Array<C>

Source§

impl<C: RudaType> RudaType for Array<C>

Source§

impl<C: RudaType> RudaType for Matrix<C>

Source§

impl<E: RudaPrimitive, IO: SliceVisibility> RudaType for &Slice<E, IO>

Source§

impl<E: RudaPrimitive, IO: SliceVisibility> RudaType for &mut Slice<E, IO>

Source§

impl<E: RudaPrimitive, IO: SliceVisibility> RudaType for Slice<E, IO>

Source§

impl<E: RudaPrimitive, K: TensorMapKind> RudaType for TensorMap<E, K>

Source§

impl<E: RudaPrimitive> RudaType for SliceOrigin<E>

Source§

impl<Inner: RudaPrimitive> RudaType for Atomic<Inner>

Source§

impl<K: PartialOrd + Ord, V: RudaType> RudaType for Registry<K, V>

Source§

impl<Marker: 'static> RudaType for DynamicScalar<Marker>

Source§

impl<P: Scalar, N: Size> RudaType for &Vector<P, N>

Source§

impl<P: Scalar, N: Size> RudaType for &mut Vector<P, N>

Source§

impl<P: Scalar, N: Size> RudaType for Vector<P, N>

Source§

impl<T: RudaPrimitive> RudaType for Shared<T>

Source§

impl<T: RudaPrimitive> RudaType for SharedMemory<T>

Source§

impl<T: RudaType> RudaType for &Tensor<T>

Source§

impl<T: RudaType> RudaType for &mut Tensor<T>

Source§

impl<T: RudaType> RudaType for ComptimeCell<T>

Source§

impl<T: RudaType> RudaType for ComptimeOption<T>

Source§

impl<T: RudaType> RudaType for RuntimeCell<T>

Source§

impl<T: RudaType> RudaType for Sequence<T>

Source§

impl<T: RudaType> RudaType for Tensor<T>