compute.kernels · function ·

CreatePortableKernel

Create portable kernel from the supplied values.

computecompute.kernelscpufunctionkernelssource-exampleyeho

Describe reusable compute kernels and their workload contracts.

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

Status: source-declared

Parameters

text name
Supply name as text.
text operationKind
Supply operation kind as text.
list of portableKernelArgument arguments
Supply arguments as list of portableKernelArgument.
portableKernelWorkContract work
Supply work as portableKernelWorkContract.
text effect
Supply effect as text.
list of text capabilities
Supply capabilities as list of text.
bool deterministic
Supply deterministic as bool.
bool eagerEquivalentRequired
Supply eager equivalent required as bool.
text specializationKey
Supply specialization key as text.

Use CreatePortableKernel

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

cpu · source-example · type checked

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")
project.mech
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"
Notes and source

Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

yeho/packages/compute/kernels/portable_contract.yh:376