Skip to main content

Spectrum C API boundaries

Use the headers shipped with the exact SDK/runtime revision being integrated. This page maps the current surface; it is not a generated function reference. Pre-ship API changes may require rebuilding plugins and hosts. API/schema version 1 is separate from release versions such as 0.1.N; it does not guarantee that arbitrary preview artifacts can be mixed.

Header under spectrum/c/Responsibility
plugin_sdk.hPlugin-facing umbrella.
runtime.hHost runtime umbrella.
plugin/plugin_api.hPlugin callback and lifecycle contract.
runtime/context.hRuntime context and backend resources.
runtime/graph.hGraph construction, preparation, requests and lifecycle.
runtime/session.hMulti-graph ownership and declared routing.
runtime/graph_output_stream.hOutput streams and release obligations.
core/metadata.hTyped metadata.
ext/Explicit platform/backend extensions.

Host integration​

A native host links the exported Spectrum::Runtime CMake target and uses compatible plugin packages. The host owns its application/device lifecycle; follow the SDK's ownership rules for contexts, graph preparation, request submission, outputs and shutdown. Session owns its member graph lifecycle and routed target execution; callers drive roots through the public graph APIs.

Retain packets and output leases only as their contracts permit. Release outstanding outputs and stop work before destroying owners. Backend handles, copies and native synchronization require explicit contracts; using a GPU API is not proof of zero-copy. A platform extension's existence is not a qualification claim for every device.

A graph alone is not an application integration. Ship compatible runtime libraries, plugins, required models/assets and notices; resolve their paths and application permissions, handle errors/cancellation, and validate the actual target. Do not embed multiple private Spectrum or inference runtimes into separate plugins.

Complete version-matched host examples, language-binding recipes and generated API reference are still being prepared. Use the installed headers/tool diagnostics as the authority; do not infer calling signatures from historical web snippets. Obtain applicable runtime redistribution terms separately from technical SDK access.