# BuildGraphAutodiffTape

Build graph autodiff tape.

Last updated: 2026-09-09

Package: compute.graph | Status: source-declared

Tags: compute, compute.graph, cpu, function, graph, source-example, yeho

Describe compute work as an explicit graph with package-owned validation and scheduling metadata.

```yh
external BuildGraphAutodiffTape(graphTrainingPlan plan) returns graphAutodiffTape
```


## Use BuildGraphAutodiffTape

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using compute.graph

// Describe compute work as an explicit graph with package-owned validation and scheduling metadata.
graphTrainingPlan plan = graphTrainingPlan("Nova", graphExecutionPlan("Nova", graphModel("Nova", "model Kind", [], [], "note"), graphCachePolicy("key", "scope", true, true, "note"), graphFallbackPolicy("primary Path", "fallback Path", "reason", true, true, "note"), graphSchedulerRule("Nova", "path Order", "fusion Rule", "cache Rule", "note"), "note"), graphGradientSpec("Nova", "loss Kind", "target Kind", 1, true, "note"), graphOptimizerState("key", "optimizer Kind", "learning Rate", "momentum", "weight Decay", 1, "note"), graphCheckpointPolicy("key", "png", "location", true, true, true, 1, "note"), graphReproducibilitySettings("key", 1, true, true, true, "backend Policy", "note"), "dataset Key", "note")
graphAutodiffTape result = BuildGraphAutodiffTape(plan)
Console.Log("Inspect result in your debugger")

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.compute_graph__buildgraphautodifftape"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "compute.buffer"
version = "0.1.0"
path = "../../../yeho/packages/compute/buffer"

[[dependencies]]
package = "compute.device"
version = "0.1.0"
path = "../../../yeho/packages/compute/device"

[[dependencies]]
package = "compute.graph"
version = "0.1.0"
path = "../../../yeho/packages/compute/graph"

[[dependencies]]
package = "compute.kernels"
version = "0.1.0"
path = "../../../yeho/packages/compute/kernels"

[[dependencies]]
package = "compute.tensor"
version = "0.1.0"
path = "../../../yeho/packages/compute/tensor"

[[dependencies]]
package = "console"
version = "0.1.0"
path = "../../../yeho/packages/console"

[[dependencies]]
package = "diagnostics"
version = "0.1.0"
path = "../../../yeho/packages/diagnostics"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/compute.graph--BuildGraphAutodiffTape/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

Source: yeho/packages/compute/graph/training.yh

AI training permission: https://demonhunterlabs.com/ai-use
