Skip to content

perf(cuda): decode FSST strings with GPU-built Arrow offsets - #8921

Merged
0ax1 merged 2 commits into
developfrom
ad/speed-up-gpu-fsst
Jul 24, 2026
Merged

0ax1 merged 2 commits into
developfrom
ad/speed-up-gpu-fsst

Conversation

@0ax1

@0ax1 0ax1 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Keep FSST in the CUDA-compatible BtrBlocks writer and export decoded strings with standard offset-based Arrow layouts.

Build and validate Arrow i32 offsets on the GPU with a generic length conversion and CUB scan, avoiding per-batch length and offset round trips through host memory. Decode device-resident FSST metadata and validity through CUDA so staged files import into cuDF as verified owned strings.

@0ax1
0ax1 requested a review from robert3005 July 23, 2026 14:42
@codspeed

codspeed Bot commented Jul 23, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 1892 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing ad/speed-up-gpu-fsst (116e3b7) with develop (1b28996)

Open in CodSpeed

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@0ax1 0ax1 added the changelog/performance A performance improvement label Jul 23, 2026
@0ax1
0ax1 force-pushed the ad/speed-up-gpu-fsst branch from 9cb7639 to bd14e16 Compare July 23, 2026 15:17
Keep FSST in the CUDA-compatible BtrBlocks writer and export decoded
strings with standard offset-based Arrow layouts.

Build and validate Arrow i32 offsets on the GPU with a generic length
conversion and CUB scan, avoiding per-batch length and offset round
trips through host memory. Decode device-resident FSST metadata and
validity through CUDA so staged files import into cuDF as verified owned
strings.

Signed-off-by: Alexander Droste <[email protected]>
@robert3005

Copy link
Copy Markdown
Contributor

Your CUB is not found

      Other error: CUB scan_exclusive_sum_i32_temp_size failed: cub: failed to load library: Failed to load CUB library: /home/runner/_work/vortex/vortex/target/release/build/vortex-cub-ee42bb9590d1dad3/out/libvortex_cub.so: cannot open shared object file: No such file or directory

@vortex-data vortex-data deleted a comment from github-actions Bot Jul 23, 2026
Signed-off-by: Alexander Droste <[email protected]>
@0ax1

0ax1 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Your CUB is not found

      Other error: CUB scan_exclusive_sum_i32_temp_size failed: cub: failed to load library: Failed to load CUB library: /home/runner/_work/vortex/vortex/target/release/build/vortex-cub-ee42bb9590d1dad3/out/libvortex_cub.so: cannot open shared object file: No such file or directory

Yeah we have this weird split of building the artefacts on a diff machine than where we run the codspeed benchmarks.

@0ax1
0ax1 merged commit 11a6c04 into develop Jul 24, 2026
77 checks passed
@0ax1
0ax1 deleted the ad/speed-up-gpu-fsst branch July 24, 2026 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/performance A performance improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants