Skip to content

Fix two errors that stop the extension building from source - #59

Merged
Abusagit merged 1 commit into
mainfrom
fix-cuda-build-errors
Sep 11, 2026
Merged

Abusagit merged 1 commit into
mainfrom
fix-cuda-build-errors

Conversation

@sinfillo

Copy link
Copy Markdown
Collaborator

No description provided.

main does not compile. The _C.so in a working tree is older than the sources it was
built from, so an incremental developer never sees it -- only a clean build on
another machine does, which is where this surfaced.

reduction_aggr.cu's light-node kernel computes its index inside the bounds check and
then subscripts with `i`, which is declared nowhere:

    if (static_cast<size_t>(blockIdx.x) * blockDim.y + threadIdx.y >= num_light) return;
    const index_t v = light_nodes_indices[i];

No toolkit accepts that. The guard's own expression is the index, so name it.

adaptive_ops.cuh calls cuda::std::log, exp and fma without including
<cuda/std/cmath>. CUDA 12.9's libcu++ provides them transitively and the omission is
invisible; on 12.2 every translation unit that includes the header fails with
"namespace cuda::std has no member log" -- five of the seven in a full build.

Verified by compiling reduction_aggr.cu, which hit both, for sm_80.

Worth following up separately: nothing in CI builds the extension, so compilation can
break and stay broken for a week.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Abusagit
Abusagit merged commit 9394529 into main Sep 11, 2026
2 of 4 checks passed

This branch had an error being deployed

1 failed deployment
pypi — 3ae1244a Deployed Sep 11, 2026 by sinfillo via Publish package #20
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.

2 participants