Skip to content

Async gpu write parquet#1018

Merged
DrTodd13 merged 18 commits intomainfrom
todd/async_gpu_write_parquet
Feb 6, 2026
Merged

Async gpu write parquet#1018
DrTodd13 merged 18 commits intomainfrom
todd/async_gpu_write_parquet

Conversation

@DrTodd13
Copy link
Collaborator

@DrTodd13 DrTodd13 commented Feb 5, 2026

Changes included in this PR

  1. Fix gpu read parquet to break up a large row group into batch sized pieces.
  2. Make gpu write parquet use the stream and event passed to it.

Testing strategy

Run locally with async turned on.
run_ci

User facing changes

None.

Checklist

  • Pipelines passed before requesting review. To run CI you must include [run CI] in your commit message.
  • I am familiar with the Contributing Guide
  • I have installed + ran pre-commit hooks.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Feb 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.72%. Comparing base (c33fbb5) to head (a0c1e9a).
⚠️ Report is 199 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1018      +/-   ##
==========================================
+ Coverage   66.68%   68.72%   +2.03%     
==========================================
  Files         186      195       +9     
  Lines       66795    67835    +1040     
  Branches     9507     9668     +161     
==========================================
+ Hits        44543    46617    +2074     
+ Misses      19572    18365    -1207     
- Partials     2680     2853     +173     

Copy link
Contributor

@scott-routledge2 scott-routledge2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @DrTodd13

// Write batches to file in pipeline order.
// Wait for last write pipeline batch to finish before running
// this one.
prev_batch_se->event.wait(se->stream);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aren't we already waiting on each batch as it comes through inside the base operator? Do we have to change that part?
PhysicalGPUSink::ConsumeBatch

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are referencing waiting on the previous stage of the pipeline for the same batch. This code segment is waiting on the write parquet of the previous batch to finish. I've seen conflicting information on whether this is strictly necessary but it can't hurt. Just want to double make sure that somehow things don't get written to the file in the wrong order.

@DrTodd13 DrTodd13 merged commit 3ddb374 into main Feb 6, 2026
28 of 30 checks passed
@DrTodd13 DrTodd13 deleted the todd/async_gpu_write_parquet branch February 6, 2026 01:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants