Skip to content

Expose CUDA-compatible file sink through FFI - #8784

Merged
onursatici merged 1 commit into
developfrom
os/ffi-cuda
Jul 16, 2026
Merged

Expose CUDA-compatible file sink through FFI#8784
onursatici merged 1 commit into
developfrom
os/ffi-cuda

Conversation

@onursatici

Copy link
Copy Markdown
Contributor

Rationale for this change

cuda compatible vortex files currently can't be written over ffi

What changes are included in this PR?

ffi to allow writing with the cuda compatible strategy, which only includes encodings that we have gpu kernels for, and also uses the cuda flat layout that uses the array tree from the footer. Also exclude alp-rd and pco from the cuda compatible encoding allowlist for completeness

@onursatici
onursatici requested a review from 0ax1 July 16, 2026 10:49
@onursatici onursatici added the changelog/feature A new feature label Jul 16, 2026
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Vortex queries

Verdict: Likely regression (high confidence)
Attributed Vortex impact: +12.3%
Engines: DataFusion No clear signal (+7.8%, low confidence) · DuckDB Likely regression (+17.0%, high confidence)
Vortex (geomean): 1.166x ❌
Parquet (geomean): 1.100x ❌
Shifts: Parquet (control) +10.0% · Median polish +18.0%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (1.225x ❌, 0↑ 2↓)
name PR 9a15dd8 (ns) base 1c419e5 (ns) ratio (PR/base)
vortex_q00/datafusion:vortex-file-compressed 🚨 11775292 9704767 1.21
vortex_q01/datafusion:vortex-file-compressed 🚨 7441524 6015063 1.24
datafusion / parquet (1.136x ❌, 0↑ 2↓)
name PR 9a15dd8 (ns) base 1c419e5 (ns) ratio (PR/base)
vortex_q00/datafusion:parquet 🚨 23466916 20806650 1.13
vortex_q01/datafusion:parquet 🚨 5416210 4731642 1.14
duckdb / vortex-file-compressed (1.247x ❌, 0↑ 2↓)
name PR 9a15dd8 (ns) base 1c419e5 (ns) ratio (PR/base)
vortex_q00/duckdb:vortex-file-compressed 🚨 12521427 10153450 1.23
vortex_q01/duckdb:vortex-file-compressed 🚨 7278018 5772282 1.26
duckdb / parquet (1.065x ➖, 0↑ 0↓)
name PR 9a15dd8 (ns) base 1c419e5 (ns) ratio (PR/base)
vortex_q00/duckdb:parquet 24914677 23232389 1.07
vortex_q01/duckdb:parquet 9916134 9368910 1.06

No file size changes detected.

@myrrc myrrc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM for vortex-ffi changes

Signed-off-by: Onur Satici <onur@spiraldb.com>
@onursatici
onursatici enabled auto-merge (squash) July 16, 2026 11:09
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 9a15dd8 1 Explore Profiling Data

Powered by Polar Signals Cloud

@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 13.22%

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

❌ 1 regressed benchmark
✅ 1697 untouched benchmarks
⏩ 9 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime cuda/bitpacked_u8/unpack/3bw[100M] 301.6 µs 347.5 µs -13.22%

Tip

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


Comparing os/ffi-cuda (9a15dd8) with develop (1c419e5)

Open in CodSpeed

Footnotes

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

@onursatici
onursatici merged commit e727c46 into develop Jul 16, 2026
78 of 79 checks passed
@onursatici
onursatici deleted the os/ffi-cuda branch July 16, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants