# CreatePortableKernel

Create portable kernel from the supplied values.

Last updated: 2026-09-09

Package: compute.kernels | Status: source-declared

Tags: compute, compute.kernels, cpu, function, kernels, source-example, yeho

Describe reusable compute kernels and their workload contracts.

```yh
external CreatePortableKernel(text name, text operationKind, list of portableKernelArgument arguments, portableKernelWorkContract work, text effect, list of text capabilities, bool deterministic, bool eagerEquivalentRequired, text specializationKey) returns portableKernelContract
```


## Use CreatePortableKernel

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using compute.kernels

// Describe reusable compute kernels and their workload contracts.
text name = "Nova"
text operationKind = "operation Kind"
list of portableKernelArgument arguments = []
portableKernelWorkContract work = portableKernelWorkContract(1, [], [], "bounds Policy", 4, 1, "barrier Policy", "reduction Kind", "reduction Order")
text effect = "effect"
list of text capabilities = []
bool deterministic = true
bool eagerEquivalentRequired = true
text specializationKey = "specialization Key"
portableKernelContract result = CreatePortableKernel(name, operationKind, arguments, work, effect, capabilities, deterministic, eagerEquivalentRequired, specializationKey)
Console.Log("Inspect result in your debugger")

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.compute_kernels__createportablekernel"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[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.kernels--CreatePortableKernel/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/kernels/portable_contract.yh

AI training permission: https://demonhunterlabs.com/ai-use
