Skip to content

Enable page-level payload I/O in hybrid scan - #23362

Draft
mhaseeb123 wants to merge 21 commits into
NVIDIA:mainfrom
mhaseeb123:fix/parquet-sparse-page-io
Draft

Enable page-level payload I/O in hybrid scan#23362
mhaseeb123 wants to merge 21 commits into
NVIDIA:mainfrom
mhaseeb123:fix/parquet-sparse-page-io

Conversation

@mhaseeb123

@mhaseeb123 mhaseeb123 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Description

Closes #23519

This PR adds a feature complete prototype implementation of page-level IO support for payload columns in the Hybrid Scan reader along with an example showcasing its application.

Checklist

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

@copy-pr-bot

copy-pr-bot Bot commented Jul 21, 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.

@github-actions github-actions Bot added the libcudf Affects libcudf (C++/CUDA) code. label Jul 21, 2026
Preserve page locations and variable-width offset state needed to safely
reconstruct columns from a sparse subset of Parquet data pages.
Refine page topology preprocessing and add pruned-page decoding with hybrid scan coverage.
@mhaseeb123
mhaseeb123 force-pushed the fix/parquet-sparse-page-io branch from 05bb11d to 50681a9 Compare July 22, 2026 03:49
Initialize sparse page state and carry variable-width offsets across pruned pages so page-level reads produce valid columns without overestimating string storage.
@mhaseeb123
mhaseeb123 force-pushed the fix/parquet-sparse-page-io branch from 50681a9 to df762d8 Compare July 22, 2026 03:56
@github-actions github-actions Bot added the CMake CMake build issue label Jul 22, 2026
Exercise source-grouped sparse payload reads and make dataset selection configurable for validated A/B benchmarks.
@copy-pr-bot

copy-pr-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

rapids-bot Bot pushed a commit that referenced this pull request Jul 24, 2026
Part of #23362

This PR includes bug fixes and supporting features needed to enable page pruning with page-level (sparse) I/O (for payload columns) in hybrid scan, that is upcoming in #23375 and includes end to end tests.

Authors:
  - Muhammad Haseeb (https://github.com/mhaseeb123)

Approvers:
  - Paul Mattione (https://github.com/pmattione-nvidia)
  - Vukasin Milovanovic (https://github.com/vuule)
  - Bradley Dice (https://github.com/bdice)
  - Nghia Truong (https://github.com/ttnghia)

URL: #23374
@github-actions github-actions Bot added Python Affects Python cuDF API. pylibcudf Issues specific to the pylibcudf package labels Jul 30, 2026
@josephine-wolf-oberholtzer josephine-wolf-oberholtzer moved this to In Progress in cuDF Python Aug 12, 2026
rapids-bot Bot pushed a commit that referenced this pull request Aug 20, 2026
Contributes to #23519

This PR adds new hybrid scan APIs to support page-level (sparse) I/O for payload columns. This includes:
- API to compute (pruned) page-level I/O byte range for payload columns
- API to only materialize these sparse pages into the output table
- End-to-end test coverage and some negative tests. More extensive tests will land in #23362

Authors:
  - Muhammad Haseeb (https://github.com/mhaseeb123)

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Qi Chen (https://github.com/qbacpey)

URL: #23375
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. pylibcudf Issues specific to the pylibcudf package Python Affects Python cuDF API.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

[STORY] Support page-level I/O in hybrid scan

3 participants