tidu Documentation
tidu builds automatic-differentiation transforms for primitive computation graphs in Rust.
Downstream crates bring the operation set, local AD rules, and concrete runtime. tidu builds new graphs for linearization, transposed linear maps, and optional eager reverse-mode integration.
Name
The name tidu comes from the Chinese word 梯度, whose pinyin romanization is tidu and whose meaning is “gradient”.
Where To Start
- New to the graph-transform vocabulary? Read Terminology first.
- Then read How tidu Works for the whole-system picture: the layers, the transform pipeline, and the primitive contract.
- Work through Primitive Linearization to define a tiny primitive set and run graph transforms.
- Work through Eager Reverse Mode to connect immediate execution to
backward(). - Use the Guides when implementing a real downstream primitive set; the Eager Integration guide covers the
backward()workflow. The public API lives in thetidu::rulesandtidu::eagermodules.
What tidu Owns
tidu owns the AD transform contracts. It asks downstream crates to provide primitive operations, JVP rules, transpose rules, concrete execution, metadata, and user-facing tensor APIs.