Skip to content

GPU benchmark: add low-overhead Nsight ranges - #9438

Draft
joseph-isaacs wants to merge 1 commit into
joe/gpu-decompression-profilingfrom
joe/gpu-nsys-range-profiling
Draft

GPU benchmark: add low-overhead Nsight ranges#9438
joseph-isaacs wants to merge 1 commit into
joe/gpu-decompression-profilingfrom
joe/gpu-nsys-range-profiling

Conversation

@joseph-isaacs

@joseph-isaacs joseph-isaacs commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Stacked only on #9432, whose root is current develop; it has no dependency on the Parquet benchmark PR.

What

  • Add VORTEX_GPU_PROFILE=nsys to wrap each field decode in an NVTX range while retaining encoding-tree metrics.
  • Add VORTEX_GPU_PROFILE=nsys-ranges for lower-overhead captures that skip encoding-tree construction.

Why this is needed

Nsight Systems shows CUDA API calls, copies, waits, allocations, and kernel gaps, but those events are hard to map back to Vortex fields. NVTX ranges provide that correlation. The ranges-only mode is separate because formatting every full array/encoding tree materially perturbs the host timeline we are trying to inspect.

Validation

  • cargo +nightly fmt --all
  • cargo check -p compress-bench --features cuda,unstable_encodings
  • git diff --check

@codspeed-hq

codspeed-hq Bot commented Aug 17, 2026

Copy link
Copy Markdown

Merging this PR will regress 1 benchmark

⚠️ 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.

⚡ 2 improved benchmarks
❌ 1 regressed benchmark
✅ 1997 untouched benchmarks
⏩ 89 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation compress_fsst[(1000, 64, 8)] 1 ms 1.1 ms -10.76%
Simulation decompress[u64, (10000, 4)] 402.6 µs 310.6 µs +29.6%
Simulation take[core/shuffled/primitive/nonnull/chunks=1024/indices=10000] 14.2 ms 12.9 ms +10.18%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing joe/gpu-nsys-range-profiling (d7c32df) with joe/gpu-decompression-profiling (b6cf956)

Open in CodSpeed

Footnotes

  1. 89 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.

@joseph-isaacs
joseph-isaacs force-pushed the joe/gpu-pack-fsst-metadata branch from b99c8fd to 31a2b52 Compare August 17, 2026 09:18
@joseph-isaacs
joseph-isaacs force-pushed the joe/gpu-nsys-range-profiling branch from ae82808 to ec46190 Compare August 17, 2026 09:18
@joseph-isaacs
joseph-isaacs changed the base branch from joe/gpu-pack-fsst-metadata to joe/gpu-decompression-profiling August 17, 2026 09:20
@joseph-isaacs
joseph-isaacs force-pushed the joe/gpu-decompression-profiling branch from b5ac292 to 27d1096 Compare August 17, 2026 12:58
@joseph-isaacs
joseph-isaacs force-pushed the joe/gpu-nsys-range-profiling branch from ec46190 to 61f18eb Compare August 17, 2026 12:59
@joseph-isaacs
joseph-isaacs force-pushed the joe/gpu-decompression-profiling branch from 27d1096 to b6cf956 Compare August 17, 2026 18:18
Signed-off-by: Joe Isaacs <2413449+joseph-isaacs@users.noreply.github.com>
@joseph-isaacs
joseph-isaacs force-pushed the joe/gpu-nsys-range-profiling branch from 61f18eb to d7c32df Compare August 17, 2026 18:19
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