pub struct ResidentRelation { /* private fields */ }Expand description
A fixed-capacity relation whose storage remains stable for a graph lifetime.
Implementations§
Source§impl ResidentRelation
impl ResidentRelation
pub fn buffer(&self) -> &CudaBuffer
Sourcepub fn into_buffer(self) -> CudaBuffer
pub fn into_buffer(self) -> CudaBuffer
Consume the stable owner after terminal receipt validation.
This performs no transfer, synchronization, or host-count observation.
Sourcepub fn into_buffer_with_observed_schema(
self,
schema: Schema,
) -> Result<CudaBuffer>
pub fn into_buffer_with_observed_schema( self, schema: Schema, ) -> Result<CudaBuffer>
Consume a synchronized final owner with its receipt-selected schema.
This changes metadata only after all captured work is complete and validates that the selected schema has the same physical layout.
Sourcepub fn retag_schema_for_capture(&mut self, schema: Schema) -> Result<()>
pub fn retag_schema_for_capture(&mut self, schema: Schema) -> Result<()>
Retag a cold scratch allocation without changing any device address.
This is only valid before the graph that will use this relation is launched. Captured kernel nodes own copies of their pointer/width arguments; callers must not retag a relation while a launch is in flight. Final head relations must not use this scratch-pool operation.
pub fn capacity(&self) -> u32
pub fn num_rows_device(&self) -> &TrackedCudaSlice<u32>
Sourcepub fn record_uses(&self, recorder: &mut LaunchRecorder)
pub fn record_uses(&self, recorder: &mut LaunchRecorder)
Add every owned allocation to the transaction’s strict recorder.