pub struct GpuResultHandle { /* private fields */ }Expand description
GPU-resident query result bound to an Arrow schema and runtime.
Cloning shares the underlying cuDF batch, runtime, and frozen resident
leases. Same-device consumers may borrow the result as resident input; host
materialization is explicit through to_host_record_batch.
Implementations§
Source§impl GpuResultHandle
impl GpuResultHandle
Sourcepub fn new(
context: &ExecutionContext,
frame: GpuDataFrame,
schema: SchemaRef,
) -> Result<Self>
pub fn new( context: &ExecutionContext, frame: GpuDataFrame, schema: SchemaRef, ) -> Result<Self>
Bind a GPU frame to a schema and the runtime from context.
The frame must already reside on the context’s device. Hidden DataFusion order columns may be stripped before schema binding.
Sourcepub fn read_on(&self, context: &ExecutionContext) -> Result<GpuDataFrame>
pub fn read_on(&self, context: &ExecutionContext) -> Result<GpuDataFrame>
Borrows this result as a frame read on context’s stream. Once that
frame and every frame derived from it have dropped, the resident
owner’s final release also waits for the work the stream had enqueued
by then.
Sourcepub fn into_gpu_frame(self) -> GpuDataFrame
pub fn into_gpu_frame(self) -> GpuDataFrame
Consume the handle and return its GPU frame wrapper.
Sourcepub fn graph_residency(&self) -> Option<&GraphResidencyDescriptor>
pub fn graph_residency(&self) -> Option<&GraphResidencyDescriptor>
Graph source provenance carried by this handle, when known.
Sourcepub fn placement(&self) -> ExecutionPlacement
pub fn placement(&self) -> ExecutionPlacement
Current cuDF execution placement for the underlying batch.
Sourcepub fn num_columns(&self) -> usize
pub fn num_columns(&self) -> usize
Column count in the GPU result.
Sourcepub fn to_host_record_batch(&self) -> Result<RecordBatch>
pub fn to_host_record_batch(&self) -> Result<RecordBatch>
Materialize this GPU result to host Arrow.
Sourcepub fn into_host_batch_cursor(
self,
cancellation: ExecutionCancellation,
config: HostBatchCursorConfig,
) -> Result<GpuHostBatchCursor>
pub fn into_host_batch_cursor( self, cancellation: ExecutionCancellation, config: HostBatchCursorConfig, ) -> Result<GpuHostBatchCursor>
Consume this result into a bounded incremental host materializer.
Sourcepub fn into_host_batch_cursor_with_host_schema(
self,
output_schema: SchemaRef,
cancellation: ExecutionCancellation,
config: HostBatchCursorConfig,
) -> Result<GpuHostBatchCursor>
pub fn into_host_batch_cursor_with_host_schema( self, output_schema: SchemaRef, cancellation: ExecutionCancellation, config: HostBatchCursorConfig, ) -> Result<GpuHostBatchCursor>
Consume this result into a bounded host materializer using an external schema whose field names, nullability, and metadata are bound by ordinal.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for GpuResultHandle
impl !UnwindSafe for GpuResultHandle
impl Freeze for GpuResultHandle
impl Send for GpuResultHandle
impl Sync for GpuResultHandle
impl Unpin for GpuResultHandle
impl UnsafeUnpin for GpuResultHandle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more