Files | Functions
Column stream

Files

file  column_stream.hpp
 Column device-buffer stream (deallocation) helpers.
 

Functions

std::unique_ptr< columncudf::rebind_stream (column &&col, rmm::cuda_stream_view stream)
 Rebinds column's device buffers to use stream for deallocation. More...
 

Detailed Description

Function Documentation

◆ rebind_stream()

std::unique_ptr<column> cudf::rebind_stream ( column &&  col,
rmm::cuda_stream_view  stream 
)

Rebinds column's device buffers to use stream for deallocation.

Recursively updates the deallocation stream on the column's data buffers, null masks, and all child columns. Does not copy device memory or launch kernels.

Note
This function does not insert CUDA cross-stream ordering. The caller must ensure a happens-before relationship from every stream that may still have in-flight work touching this column's device memory to stream (for example cudf::detail::join_streams after parallel work on a stream pool, or explicit events / synchronization).
column_view instances (including nested child views) that already referenced col's device data remain valid: no device memory is copied or relocated, so their pointers and metadata still describe the same buffers now owned by the returned column.
Parameters
colColumn to rebind; ownership is transferred from this rvalue
streamStream used for future asynchronous deallocation of the buffers
Returns
Column with equivalent contents and rebinding applied