# CreatePortableGraphNode

Create portable graph node from the supplied values.

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 CreatePortableGraphNode(text name, text kind, text kernelName, list of text inputs, list of text outputs, list of text mutations, list of text dependencies, text effect, text requestedDevice, bool fallbackAllowed, bool cacheable, text fusionGroup, text specializationKey) returns portableGraphNode
```


## Use CreatePortableGraphNode

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.
text name = "Nova"
text kind = "kind"
text kernelName = "kernel Name"
list of text inputs = []
list of text outputs = []
list of text mutations = []
list of text dependencies = []
text effect = "effect"
text requestedDevice = "requested Device"
bool fallbackAllowed = true
bool cacheable = true
text fusionGroup = "fusion Group"
text specializationKey = "specialization Key"
portableGraphNode result = CreatePortableGraphNode(name, kind, kernelName, inputs, outputs, mutations, dependencies, effect, requestedDevice, fallbackAllowed, cacheable, fusionGroup, specializationKey)
Console.Log("Inspect result in your debugger")

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.compute_graph__createportablegraphnode"
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--CreatePortableGraphNode/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/portable_contract.yh

AI training permission: https://demonhunterlabs.com/ai-use
