Conversation
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
…ation Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Merging this PR will regress 2 benchmarks
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | arrow_checked_add_u32_neon[16384] |
12.9 µs | 20.4 µs | -36.75% |
| ❌ | Simulation | random_i16[0.8] |
80.4 µs | 98.8 µs | -18.64% |
| ⚡ | Simulation | random_i8[0.5] |
96.8 µs | 73.2 µs | +32.23% |
| ⚡ | Simulation | allocate_drop_bytes[0] |
635.5 ns | 527.2 ns | +20.55% |
| ⚡ | WallTime | mul_u32_nonnull_avx512 |
6.3 µs | 5.6 µs | +12.54% |
| ⚡ | WallTime | filtered_sink_i64_neon[NineNullsInTen] |
19.6 µs | 17.6 µs | +11.33% |
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-arrow-bitmap-correctness (2b76063) with develop (48985d5)
Footnotes
-
176 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. ↩
-
1 benchmark was run, but is now archived. If it was deleted in another branch, consider rebasing to remove it from the report. Instead if it was added back, click here to restore it. ↩
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
|
@claude review |
|
Claude finished @robert3005's task in 3m 43s —— View job Claude Code Review
Reviewed all three files end-to-end (kernel, export path, and stream padding helpers). This is a careful, well-tested fix. My overall assessment: the logic is correct; I have only minor/defensive suggestions and a note on the CodSpeed report. Correctness — CUDA kernel (
|
Summary
Fix CUDA Arrow export of sliced BOOL values and validity bitmaps so their storage is safe for cuDF’s word-based reads.
A valid bitmap slice is not necessarily safe to read as machine words:
base + 1. cuDF imports bit-packed BOOL values using 32-bit mask-word reads, while Vortex’s validity repack kernel previously required 64-bit-aligned input.Without repair, these slices can cause misaligned or out-of-bounds GPU accesses, despite having correct logical values and offsets. Padding supplied by ordinary uploads can hide the problem.