Skip to content

Conversation

@0ax1
Copy link
Contributor

@0ax1 0ax1 commented Jan 13, 2026

Provides the initial skeleton to register and run CUDA kernels.

Note that cudarc does not need to be compiled conditionally as we defer symbol loading via dynamic-loading such that vortex-cuda can also be compiled on macOS.

@0ax1 0ax1 requested a review from joseph-isaacs January 13, 2026 14:34
@0ax1 0ax1 added the feature Release label indicating a new feature or request label Jan 13, 2026
@0ax1 0ax1 force-pushed the ad/cuda-api-draft branch from a5654c2 to 92b7093 Compare January 13, 2026 14:40
@codspeed-hq
Copy link

codspeed-hq bot commented Jan 13, 2026

CodSpeed Performance Report

Merging this PR will degrade performance by 40.62%

Comparing ad/cuda-api-draft (03b7d73) with develop (293026a)

Summary

⚡ 5 improved benchmarks
❌ 2 regressed benchmarks
✅ 1247 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
bitwise_and_arrow_buffer[1024] 3.3 µs 5.5 µs -40.62%
bitwise_not_arrow_buffer[128] 5.6 µs 2.7 µs ×2.1
bitwise_not_arrow_buffer[2048] 5.7 µs 3 µs +92.67%
bitwise_not_arrow_buffer[1024] 5.5 µs 2.8 µs +93.75%
bitwise_not_arrow_buffer[16384] 10.6 µs 6.1 µs +73.02%
bitwise_not_arrow_buffer[65536] 30.8 µs 12 µs ×2.6
bitwise_or_arrow_buffer[1024] 3.3 µs 5.5 µs -40.1%

@0ax1 0ax1 force-pushed the ad/cuda-api-draft branch from 92b7093 to d0914ee Compare January 13, 2026 14:42
@codecov
Copy link

codecov bot commented Jan 13, 2026

Codecov Report

❌ Patch coverage is 18.66667% with 61 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.41%. Comparing base (293026a) to head (03b7d73).

Files with missing lines Patch % Lines
vortex-cuda/src/executor.rs 0.00% 37 Missing ⚠️
vortex-cuda/src/session.rs 0.00% 12 Missing ⚠️
vortex-cuda/src/kernel.rs 60.86% 9 Missing ⚠️
vortex-cuda/src/lib.rs 0.00% 3 Missing ⚠️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment on lines 27 to 30
// Register CUDA kernel implementations for supported array encodings.
//
// session.register(BitPackedVTable::ID, &bitpacking::CUDA_SUPPORT);
// session.register(RLEVTable::ID, &rle::CUDA_SUPPORT);
Copy link
Contributor

Choose a reason for hiding this comment

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

can we have for?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yaeh

0ax1 added 11 commits January 13, 2026 17:42
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
@0ax1 0ax1 force-pushed the ad/cuda-api-draft branch from 9e176c3 to 75f3e0b Compare January 13, 2026 17:43
Signed-off-by: Alexander Droste <[email protected]>
@0ax1 0ax1 force-pushed the ad/cuda-api-draft branch from 75f3e0b to 9031f5c Compare January 13, 2026 17:46
Signed-off-by: Alexander Droste <[email protected]>
@0ax1 0ax1 force-pushed the ad/cuda-api-draft branch from 6a8c594 to 03b7d73 Compare January 13, 2026 17:56
@0ax1 0ax1 requested a review from gatesn January 13, 2026 17:57
session: Arc<CudaSession>,
array_ctx: vortex_array::ExecutionCtx,
) -> VortexResult<Self> {
let stream = context
Copy link
Contributor

Choose a reason for hiding this comment

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

new should do no work. The CudaSession should hold the CudaContext, and CudaSession::new_execution_ctx() should create the stream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Release label indicating a new feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants