Fix pixi run test: CUDA 13.3 pin lag + cython-test .so placement#2180
Open
rparolin wants to merge 2 commits into
Open
Fix pixi run test: CUDA 13.3 pin lag + cython-test .so placement#2180rparolin wants to merge 2 commits into
rparolin wants to merge 2 commits into
Conversation
The bindings were regenerated against CUDA 13.3.0 (cc50515), adding NVRTC symbols (NVRTC_ERROR_BUSY, nvrtcBundledHeadersInfo, nvrtcGetBundledHeadersInfo), but the pixi cuda-version pins stayed at 13.2 in cuda_bindings/pixi.toml and cuda_core/pixi.toml. `pixi run test` then built 13.3-referencing Cython code against a 13.2 nvrtc.h and failed with "'nvrtcBundledHeadersInfo' was not declared in this scope". CI was unaffected because it builds wheels from ci/versions.yml (13.3.0) rather than via pixi run test. Bump the cuda-version pins (build-variants + feature.cu13) from 13.2.* to 13.3.* in both packages so the local toolkit matches the regenerated sources and ci/versions.yml. Re-solved pixi.lock files accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tests/cython/build_tests.py runs `build_ext --inplace`, which writes the compiled .so relative to the current working directory. pixi runs the build-cython-tests task from the project root, so the .so landed in the package root instead of tests/cython/, where pytest imports it by bare module name. The test only passed previously because a correctly-placed .so from an earlier build persisted (gitignored); a clean checkout fails with ModuleNotFoundError. chdir to the script directory before build_ext --inplace so the .so lands next to its .pyx in both cuda_bindings and cuda_core (kept aligned per NVIDIA#1978). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pixi run testdid not complete from a clean checkout. Two independent root causes, both downstream of CUDA toolkit drift:CUDA version pin lag. The bindings were regenerated against CUDA 13.3.0 (cc50515, "Support CUDA 13.3"), adding NVRTC symbols (
NVRTC_ERROR_BUSY,nvrtcBundledHeadersInfo,nvrtcGetBundledHeadersInfo), but the pixicuda-versionpins stayed at 13.2 incuda_bindings/pixi.tomlandcuda_core/pixi.toml. The local build then compiled 13.3-referencing Cython code against a 13.2nvrtc.h:CI was unaffected because it builds wheels from
ci/versions.yml(13.3.0), not viapixi run test.Cython-test
.soplacement bug (latent since fix(test): unblock root pixi run test workflow #1978).tests/cython/build_tests.pyrunsbuild_ext --inplace, which writes the.sorelative to cwd. pixi runs the task from the project root, so the.solanded in the package root instead oftests/cython/, where pytest imports it by bare module name. fix(test): unblock root pixi run test workflow #1978's verification silently reused a correctly-placed.sofrom an earlier build; a clean checkout fails withModuleNotFoundError.Changes
13.2.* → 13.3.*(build-variants +feature.cu13) in bothpixi.toml, matching the regenerated sources andci/versions.yml; re-solvedpixi.lock×2.os.chdir(script_dir)beforebuild_ext --inplacein bothbuild_tests.py(kept aligned per fix(test): unblock root pixi run test workflow #1978) so the.solands next to its.pyxregardless of cwd.Verification
pixi run test(envcu13) now completes, exit 0:Confirmed the rebuilt
.solands intests/cython/(package root clean), proving the placement fix rather than a leftover artifact.🤖 Generated with Claude Code