Skip to content

WIP prefetch - #23901

Draft
Matt711 wants to merge 6 commits into
NVIDIA:mainfrom
Matt711:fea/polars/prefetch-byte-ranges
Draft

WIP prefetch#23901
Matt711 wants to merge 6 commits into
NVIDIA:mainfrom
Matt711:fea/polars/prefetch-byte-ranges

Conversation

@Matt711

@Matt711 Matt711 commented Aug 31, 2026

Copy link
Copy Markdown
Member

Description

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Matt711 and others added 5 commits August 31, 2026 14:36
Adds an async prefetch pipeline for hybrid scan SplitScan tasks:
per-split prefetch coroutines run on the same event loop as scan_node
and read_chunk, offloading pruning and byte-range computation to the
existing thread pool rather than a dedicated one. Pinned host memory is
reserved via reserve_or_fail by default (HybridScanPrefetchMemoryMode.
FAIL_FAST), never waiting on memory something else may need, with
reserve_memory (WAIT) available as an opt-in alternative. Byte ranges
are coalesced before issuing reads, and a per-producer ordering
mechanism (HybridScanPrefetchOrderingMode.ORDERED, default) keeps
reservation attempts in consumption order so a split due for
consumption soon can't lose its reservation to one that isn't.

PrefetchedByteRanges covers both HybridScanPassMode variants (a single
combined batch for SINGLE_PASS, separate filter/payload batches for
TWO_PASS). Demotion of pinned memory under pressure is deliberately
left as a TODO for both memory modes rather than built speculatively.
@copy-pr-bot

copy-pr-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@Matt711 Matt711 added the DO NOT MERGE Hold off on merging; see PR for details label Aug 31, 2026
@github-actions github-actions Bot added Python Affects Python cuDF API. cudf-polars Issues specific to cudf-polars labels Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cudf-polars Issues specific to cudf-polars DO NOT MERGE Hold off on merging; see PR for details Python Affects Python cuDF API.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant