Repository navigation
Optimize RLE decoding using a warp-balanced chunking approach #23271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 26 commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
5fec7c1
perf(parquet): add chunked-parse expand path to rle_stream (opt-in)
vyasr 0a9f45a
perf(parquet): use chunked-parse expand in preprocess_levels_kernel
vyasr 3f3e4fc
docs(parquet): document decode_fixed SMEM constraint on chunked RLE
vyasr 910da6e
fix(parquet): fix signed UB in rle_stream chunked meta flag; add boun…
vyasr 401cdfc
refactor(parquet): use cuda::std::span and upper_bound in rle_stream …
vyasr bb226c8
refactor(parquet): remove unused chunked_smem_t struct
vyasr c60de71
Some minor cleanup
vyasr c3f6c05
More comments
vyasr 1e5d130
Hoist level_bits==0 fast path into decode_next
vyasr 8f2b7f4
test(parquet): pass cooperative group to rle_stream::init in equivale…
vyasr 042d8c5
perf(parquet): raise kGenRuns to 1024 on sm_80+ for chunked RLE expand
vyasr be9a068
docs(parquet): note the 2 GiB payload-offset assumption in gen_meta
vyasr c4facac
refactor(parquet): hoist level_mask out of chunked-expand literal loop
vyasr fca7320
perf(parquet): use fixed kGenRuns=512 across all archs
vyasr 3388901
style(parquet): use snake_case for new chunked-expand identifiers
vyasr e2c899a
refactor(parquet): inline warp_fill into its sole caller
vyasr 5396008
perf(parquet): use max_runs_per_chunk=1024 on sm_80+
vyasr 2ce885c
refactor(parquet): template-parameterize rle_stream stage sizes and s…
vyasr 317b9ac
Merge remote-tracking branch 'upstream/main' into opt/rle-chunked-expand
vyasr 4317bd2
Merge branch 'main' into opt/rle-chunked-expand
mhaseeb123 ba909e8
Address PR review nits in RLE chunked decode
vyasr 85b9532
Remove RLE chunked-expand equivalence test
vyasr 041c4ab
Use cooperative groups in decode_next_chunked
vyasr 18b7d0b
Use cooperative groups in decode_next_ring
vyasr 798d545
Per-lane linear-walk phase-2 expand in decode_next_chunked
vyasr 9e9d8bf
Use stable owners for RLE stream state
vyasr b120823
Merge branch 'main' into opt/rle-chunked-expand
mhaseeb123 b3515c7
Merge remote-tracking branch 'upstream/main' into opt/rle-chunked-expand
vyasr 64c6af2
Address safety and correctness in edge cases raised during PR review
vyasr e3738f3
Fix signedness issues with run_desc
vyasr aebcc26
Various style and code quality improvements from PR feedback
vyasr 44d0571
Single-source rle_stream type alias
vyasr ceb81d6
Don't waste runs shmem on chunked expansion rle_streams
vyasr 789b511
Remove untested cross-call partial-run resume from chunked rle_stream
vyasr 9128028
docs(parquet): explain level_bits==0 fast path cur_values offset
vyasr 27446f9
refactor(parquet): name run_desc bit-packing constants
vyasr 9a55599
Merge remote-tracking branch 'upstream/main' into opt/rle-chunked-expand
vyasr 802d18d
Merge remote-tracking branch 'upstream/main' into opt/rle-chunked-expand
vyasr 8109e2f
style(parquet): rename `p` to `out_pos` in RLE chunked expand
vyasr 5c05330
Merge branch 'main' into opt/rle-chunked-expand
vyasr 947bb58
fix(parquet): clamp chunked RLE run length to output window
vyasr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.