[FEA] cudf::column needs a set_stream() function. #12093
Open
Description
cudf::column
uses rmm::device_buffer
for internal storage. rmm::device_buffer
internally stores the stream it was created on. This can create issues when creating columns on temporary worker-style streams and then returning them to a primary stream. When the column gets destroyed, rmm throws exceptions about invalid device contexts.
A set_stream(rmm::cuda_stream_view)
function that recurses through all children would make it easier to hand off columns between streams.
We initially encountered this issue with cudf::io::column_buffer
which has a similar problem but it will also be an issue for columns themselves.