pub trait Primitive: Debug {
    // Required methods
    fn clone_boxed(&self) -> Box<dyn Primitive>;
    fn as_any(&self) -> &dyn Any;
    fn jvp(
        &self,
        output: &Tensor,
        primals: &[Tensor],
        tangents: &[Tensor]
    ) -> Tensor;
    fn vjp(
        &self,
        output: &Tensor,
        primals: &[Tensor],
        cotangent: &Tensor
    ) -> Vec<Tensor>;

    // Provided method
    fn dot_label(&self) -> String { ... }
}

Required Methods§

source

fn clone_boxed(&self) -> Box<dyn Primitive>

source

fn as_any(&self) -> &dyn Any

source

fn jvp( &self, output: &Tensor, primals: &[Tensor], tangents: &[Tensor] ) -> Tensor

source

fn vjp( &self, output: &Tensor, primals: &[Tensor], cotangent: &Tensor ) -> Vec<Tensor>

Provided Methods§

source

fn dot_label(&self) -> String

Trait Implementations§

source§

impl Clone for Box<dyn Primitive>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<D, P, B> Eval<dyn Device, dyn Primitive> for BackendWrapper<D, P, B>
where D: Device + 'static + Sync + Send + Clone, P: Primitive + 'static + Sync + Send + Clone, B: Eval<D, P> + 'static + Clone,

source§

fn eval( &self, device: &dyn Device, primitive: &dyn Primitive, inputs: &[Tensor], output: &Tensor )

source§

impl<'a> From<&'a dyn Primitive> for Box<dyn Primitive>

source§

fn from(t: &'a dyn Primitive) -> Self

Converts to this type from the input type.
source§

impl<T> From<T> for Box<dyn Primitive>
where T: Clone + Primitive + 'static,

source§

fn from(t: T) -> Self

Converts to this type from the input type.

Implementors§

source§

impl Primitive for Abs

source§

impl Primitive for Add

source§

impl Primitive for ArgMax

source§

impl Primitive for ArgMin

source§

impl Primitive for AvgPool1d

source§

impl Primitive for AvgPool2d

source§

impl Primitive for Broadcast

source§

impl Primitive for Concatenate

source§

impl Primitive for Conv1d

source§

impl Primitive for Conv2d

source§

impl Primitive for ConvTranspose1d

source§

impl Primitive for ConvTranspose2d

source§

impl Primitive for Cos

source§

impl Primitive for Div

source§

impl Primitive for Equal

source§

impl Primitive for Erf

source§

impl Primitive for Exp

source§

impl Primitive for FlashAttention

source§

impl Primitive for Gather

source§

impl Primitive for Greater

source§

impl Primitive for GreaterEqual

source§

impl Primitive for IndexAdd

source§

impl Primitive for IndexSelect

source§

impl Primitive for Less

source§

impl Primitive for LessEqual

source§

impl Primitive for Log2

source§

impl Primitive for Log10

source§

impl Primitive for Log

source§

impl Primitive for LogSoftmax

source§

impl Primitive for MatMul

source§

impl Primitive for MaxPool1d

source§

impl Primitive for MaxPool2d

source§

impl Primitive for Maximum

source§

impl Primitive for Minimum

source§

impl Primitive for Mul

source§

impl Primitive for Narrow

source§

impl Primitive for Negative

source§

impl Primitive for NotEqual

source§

impl Primitive for Permute

source§

impl Primitive for PowerFloat

source§

impl Primitive for ReduceMax

source§

impl Primitive for ReduceMin

source§

impl Primitive for ReduceSum

source§

impl Primitive for Reshape

source§

impl Primitive for Rsqrt

source§

impl Primitive for ScatterAdd

source§

impl Primitive for Sign

source§

impl Primitive for Sin

source§

impl Primitive for Softmax

source§

impl Primitive for Sqrt

source§

impl Primitive for Square

source§

impl Primitive for Sub

source§

impl Primitive for Tanh

source§

impl Primitive for ToContiguous

source§

impl Primitive for Transpose

source§

impl Primitive for UpsampleNearest1d

source§

impl Primitive for UpsampleNearest2d

source§

impl Primitive for Where

source§

impl<D> Primitive for FromArray<D>
where D: Type,

source§

impl<D> Primitive for Full<D>
where D: Type,

source§

impl<D: Device + Clone + 'static> Primitive for ToDevice<D>

source§

impl<D: Type> Primitive for Arange<D>

source§

impl<D: Type> Primitive for Normal<D>

source§

impl<D: Type> Primitive for Random<D>

source§

impl<D: Type> Primitive for ToDType<D>