Skip to main content

Module joint_constraint

Module joint_constraint 

Source
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§

CarrierExport
One buffer exported outward while xlog retains ownership. The binding layer wraps slice in a real DLPack capsule via CudaColumn::dlpack_xlog_owned; the shared Arc keeps the runtime identity alive, so strict launch recorders keep recording the exported view instead of rejecting it.
JointConstraintCarrier
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§

CarrierBufferId
The carrier buffers addressable through the outward export surface, in the carrier’s stable column order plus the device-resident logical-counts buffer.
CarrierError
Typed carrier errors. Refusals are concrete variants — callers match on the variant, never on message text.