Skip to content

Enable OnPair in GPU compression benchmark - #9455

Draft
joseph-isaacs wants to merge 1 commit into
developfrom
rk/enable-onpair-gpu-bench
Draft

Enable OnPair in GPU compression benchmark#9455
joseph-isaacs wants to merge 1 commit into
developfrom
rk/enable-onpair-gpu-bench

Conversation

@joseph-isaacs

Copy link
Copy Markdown
Contributor

Summary

  • retain OnPair alongside FSST in the CUDA-compatible BtrBlocks compressor
  • avoid forcing Delta for OnPair offset children when that unsupported GPU scheme is excluded
  • stage device-resident OnPair dictionary metadata on the host before preparing the CUDA dictionary

The GPU compression workflow and documented local command already build with cuda,unstable_encodings; this makes the CUDA-compatible compressor actually consider OnPair under that feature set.

Local evidence

Command:

cargo run -p compress-bench --profile release_debug \
  --features cuda,unstable_encodings -- \
  --gpu-decompress --iterations 5

String-heavy TPC-H l_comment canonical, based on merged develop after #8920:

Variant GPU decompress time
merged develop (FSST) 1,114,305 μs
this branch (OnPair selected) 1,069,992 μs
change -3.98%

I removed the old capture and regenerated /tmp/onpair-gpu-decompress.vortex from this branch. The new file is a valid 222,367,880-byte VTXF file (SHA-256 0bb262282ff5c3fcd3459141cffbc01f6f465c7287221f29d4ffa4853cb396e3). A fresh-file runtime trace confirms actual use, rather than only registry presence:

try GPU dispatch encoding=vortex.onpair dtype=Utf8(NonNullable) len=8192

Checks

  • cargo +nightly fmt --all -- --check
  • cargo test -p vortex-btrblocks --features unstable_encodings builder::tests::cuda_compatible_uses_gpu_string_encodings
  • cargo test -p vortex-cuda onpair -- --nocapture (19 passed)
  • cargo clippy -p vortex-compressor -p vortex-btrblocks -p vortex-cuda --all-targets --all-features
  • end-to-end GPU file benchmark and traced OnPair CUDA dispatch

Signed-off-by: "Robert Kruszewski" <github@robertk.io>
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.

1 participant