Skip to main content

Crate tidu

Crate tidu 

Source
Expand description

AD graph transforms for the tensor4all v2 stack.

This crate provides two graph-to-graph transforms: differentiate for forward linearization (JVP) and transpose for reverse linear flow over a linear fragment. It also provides eager reverse-mode AD helpers: record_eager_op builds GradNode metadata around concrete frontend execution, and backward_dag replays recorded nodes through caller-provided BackwardCallbacks.

§Examples

use computegraph::resolve::resolve;
use tidu::{differentiate, transpose};

let view = resolve(vec![primal_fragment]);
let mut ctx = ();
let linear = differentiate(&view, &[output_key], &[input_key], 1, &mut ctx);
let _transposed = transpose(&linear, &mut ctx);

Re-exports§

pub use backward::backward_dag;
pub use backward::topo_sort_grad_dag;
pub use backward::BackwardCallbacks;
pub use eager_transpose::eager_transpose_fragment;
pub use grad_node::GradEdge;
pub use grad_node::GradNode;

Modules§

backward
eager_transpose
grad_node

Structs§

EagerOutput
Per-output trace metadata returned by record_eager_op.
EagerValue
Eager frontend input descriptor for generic AD recording.
LinearFragment
A linear fragment produced by crate::differentiate or crate::transpose.

Traits§

EagerKeySource
Caller-provided source of stable eager value keys.

Functions§

derived_output_key
Construct the derived key used to save a replayed primal output value.
differentiate
Differentiate a resolved computation graph, producing a linear fragment.
record_eager_op
Record a concrete eager primitive execution for reverse-mode AD.
saved_forward_values
Build saved forward data for one eager op.
transpose
Transpose a linear fragment, reversing linear flow.