Skip to content

perf(cuda): migrate consumers to vortex-cuda-driver - #10722

Merged
0ax1 merged 1 commit into
developfrom
ad/cuda-driver-migration
Oct 23, 2026
Merged

0ax1 merged 1 commit into
developfrom
ad/cuda-driver-migration

Conversation

@0ax1

@0ax1 0ax1 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Vortex's CUDA consumers still use cudarc and cannot use the new driver's access tracking.

Solution

Migrate consumers to vortex-cuda-driver, move i256 support into its optional feature, and remove cudarc.

Assessment

Changes public CUDA types and removes vortex-array's cudarc feature. The driver stays unpublished. Builds on the merged CUDA PRs.

@codspeed

codspeed Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Merging this PR will regress 4 benchmarks

4 warnings, 1 note

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ Unable to measure the execution of 1 benchmark

This benchmark measured no execution time, so its result is not comparable and counts as unchanged. This usually happens when the compiler removes the code under test.

Prevent compiler optimizations

See affected benchmarks

⚠️ 17 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

⚠️ Base and head ran on different runner types

Some benchmarks with significant performance changes were compared across different runner types, so the changes might not come from the code. Run base and head on the same runner type, or use CodSpeed Macro Runners for more stable results.

Learn more about Macro Runners

Open the report in CodSpeed to investigate

ℹ️ 40 benchmarks have no flamegraph

The flamegraph wasn't generated: the symbols of the profiling trace could not be resolved, because no information about the language frames was collected.

See affected benchmarks

⚡ 7 improved benchmarks
❌ 4 regressed benchmarks
✅ 2397 untouched benchmarks
⏩ 12 skipped benchmarks1
🗄️ 43 archived benchmarks run2

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ CPU Simulation test_scan_filter_to_arrow_array[int_float] 3.5 ms 4.1 ms -13.67%
❌ CPU Simulation test_repeated_scan_filter[int_float] 3.4 ms 3.9 ms -10.9%
❌ CPU Simulation test_repeated_scan_filter[int] 2.4 ms 2.7 ms -10.32%
❌ CPU Simulation test_scan_filter_to_arrow_array[int] 2.5 ms 2.8 ms -10.16%
⚡ Walltime filter_neon[8] 1,779 ns 886 ns ×2
⚡ Walltime threshold_neon[80] 5.1 µs 3.3 µs +53.63%
⚡ Walltime filter_neon[64] 2.4 µs 1.7 µs +38.12%
⚡ Walltime threshold_neon[8] 1.8 µs 1.4 µs +33.63%
⚡ CPU Simulation bench_compare_primitive[(10000, 32)] 97 µs 72.9 µs +33.09%
⚡ Walltime filter_neon[80] 3.2 µs 2.5 µs +31.16%
⚡ Walltime threshold_neon[64] 3.1 µs 2.6 µs +19.97%

Tip

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


Comparing ad/cuda-driver-migration (e216787) with develop (a74fdc7)

Open in CodSpeed

Footnotes

  1. 12 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. ↩

  2. 43 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩

@0ax1
0ax1 force-pushed the ad/cuda-driver-memory branch from 38ad068 to fd26f0f Compare October 23, 2026 13:13
@0ax1
0ax1 force-pushed the ad/cuda-driver-migration branch 2 times, most recently from 97221b9 to 434915e Compare October 23, 2026 13:15
@0ax1
0ax1 requested a review from robert3005 October 23, 2026 14:50
@0ax1
0ax1 marked this pull request as ready for review October 23, 2026 14:51
0ax1 added a commit that referenced this pull request Oct 23, 2026
## Problem

Raw CUDA handles do not manage ownership, thread-context binding, or cleanup errors.

## Solution

Add owned and borrowed contexts, streams, events, and modules with explicit binding and deferred error handling.

## Assessment

Depends on #10719. The crate remains unpublished; consumers switch in #10722.

Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
@0ax1
0ax1 force-pushed the ad/cuda-driver-memory branch from fd26f0f to 08dc2b8 Compare October 23, 2026 16:34
0ax1 added a commit that referenced this pull request Oct 23, 2026
## Problem

Device memory shared across streams needs ordered access and deallocation without redundant waits.

## Solution

Add typed allocations/views, copies, pointer guards, pooled access events, and kernel launches.

## Assessment

Depends on #10720; activated by #10722. The driver remains excluded from publishing.

Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Base automatically changed from ad/cuda-driver-memory to develop October 23, 2026 18:22
Migrate CUDA consumers, Arrow export, FFI, benchmarks, mapped-file copies,
and stream/pinned-buffer tests to vortex-cuda-driver. Keep i256 support
in the unpublished driver's optional feature and remove cudarc from
vortex-array and the workspace.

Original-commit: 3a3c3057bf
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
@0ax1
0ax1 force-pushed the ad/cuda-driver-migration branch from 434915e to e216787 Compare October 23, 2026 18:56
@0ax1
0ax1 merged commit 3974ee0 into develop Oct 23, 2026
92 of 93 checks passed
@0ax1
0ax1 deleted the ad/cuda-driver-migration branch October 23, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/break A breaking API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants