Coprocessor support base library for Julia — session contracts, tropical resource grades, echo residues, epistemic receipts, and CNO/OND claims. Not a kernel runtime.
CoprocessorRuntime.jl is the host-side contract layer for talking about coprocessors (GPU, NPU, TPU, FPGA, QPU, DSP) without pretending to execute on them.
It answers:
| Question | What this package records |
|---|---|
Which endpoint am I? |
Choreographic |
What is the worst-case cost? |
Tropical |
What was lost in the transfer? |
|
What may the host claim afterwards? |
|
Did this reset actually do nothing to the world / reveal nothing? |
|
Can one adapter speak every vendor protocol? |
No. |
-
It does not execute CUDA / ROCm / Metal / TPU kernels. That is
CUDA.jl,AMDGPU.jl,Metal.jl,KernelAbstractions.jl. -
It does not select a backend. That is
AcceleratorGate.jl. -
It does not heal a failing kernel. That is
HardwareResilience.jl. -
It does not prove CNO/OND. That is
absolute-zero. Status here is:unprovedor:model_checked. -
It does not close K-CUT. That conjecture is open in
choreographic-types.
LowLevel.jl currently describes itself as a universal coprocessor foundation. This package exists so that claim does not have to be duplicated — and so that hub_ceiling is the default, not an afterthought.
using CoprocessorRuntime
s = open_session(GPUKind())
plan = launch_plan(
:matmul,
[Endpoint(HostRole(), CPUKind()), Endpoint(DeviceRole(), GPUKind())],
ResourceGrade(1 << 20, 10_000, 0.0),
EchoResidue(collapsing_transfer(:f32_to_f16), "mantissa fibre"),
)
local_view = project(plan, DeviceRole())
@assert local_view.kcut === :open # K-CUT is not claimed
receipt = issue_receipt(s; warrant=WarrantOnly, claim="planned")
@assert !host_may_claim(receipt) # not factive
cno = reset_session!(s) # model-checked handle reset
close_session!(s)This package sits in the metal layer of Hyperpolymath.jl. Wiring instructions (Project.toml + re-export) live in docs/ecosystem/HYPERPOLYMATH-WIRING.adoc.
Type-informed backend notes — what was taken from the -type repos, and what was deliberately not forced — live in docs/theory/TYPE-INFORMED-BACKENDS.adoc.
Code, configuration and scripts are Mozilla Public License 2.0
(MPL-2.0); prose documentation is CC-BY-SA-4.0.