compute.kernels · function ·
CreatePortableKernelWork
Create portable kernel work from the supplied values.
Describe reusable compute kernels and their workload contracts.
external CreatePortableKernelWork(int rank, list of int globalDimensions, list of int localDimensions, text boundsPolicy, int localMemoryBytes, int barrierCount, text barrierPolicy, text reductionKind, text reductionOrder) returns portableKernelWorkContractStatus: source-declared
Parameters
int rank- Supply rank as int.
list of int globalDimensions- Supply global dimensions as list of int.
list of int localDimensions- Supply local dimensions as list of int.
text boundsPolicy- Supply bounds policy as text.
int localMemoryBytes- Supply local memory bytes as int.
int barrierCount- Supply barrier count as int.
text barrierPolicy- Supply barrier policy as text.
text reductionKind- Supply reduction kind as text.
text reductionOrder- Supply reduction order as text.
Use CreatePortableKernelWork
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.
int rank = 1
list of int globalDimensions = []
list of int localDimensions = []
text boundsPolicy = "bounds Policy"
int localMemoryBytes = 4
int barrierCount = 1
text barrierPolicy = "barrier Policy"
text reductionKind = "reduction Kind"
text reductionOrder = "reduction Order"
portableKernelWorkContract result = CreatePortableKernelWork(rank, globalDimensions, localDimensions, boundsPolicy, localMemoryBytes, barrierCount, barrierPolicy, reductionKind, reductionOrder)
Console.Log("Inspect result in your debugger")
project.mech
manifestVersion = "2"
package = "api.example.compute_kernels__createportablekernelwork"
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:371