compute.kernels · function ·
CreatePortableKernel
Create portable kernel from the supplied values.
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 portableKernelContractStatus: 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