Expand description
Joint constraint carrier: buffer ownership, registration, and the device-resident label-feasibility solve stage.
The carrier owns every solver buffer: score, domain, constraint and output memory is allocated by the xlog device runtime and exported outward, never imported from an external DLPack producer. Strict launch recorders therefore record every carrier column (a runtime block is always present), and schema registration is once-per session with a typed refusal on duplicates.
The solve stage runs entirely on device: catalog-bound signature masks upload once cold-path after registration, and the existential label-feasibility kernel launches through a strict recorder with fuel charged before the launch — beyond fuel the solve refuses typed without touching the device.
Structs§
- Carrier
Export - One buffer exported outward while xlog retains ownership. The
binding layer wraps
slicein a real DLPack capsule viaCudaColumn::dlpack_xlog_owned; the sharedArckeeps the runtime identity alive, so strict launch recorders keep recording the exported view instead of rejecting it. - Joint
Constraint Carrier - Device-resident buffer set for the joint placement/relation constraint solve. All memory is runtime-backed and xlog-owned; every buffer is shared between the carrier’s working columns and the outward export surface, so both sides observe one allocation identity.
Enums§
- Carrier
Buffer Id - The carrier buffers addressable through the outward export surface, in the carrier’s stable column order plus the device-resident logical-counts buffer.
- Carrier
Error - Typed carrier errors. Refusals are concrete variants — callers match on the variant, never on message text.