Skip to content

Fix pixi run test: CUDA 13.3 pin lag + cython-test .so placement#2180

Open
rparolin wants to merge 2 commits into
NVIDIA:mainfrom
rparolin:fix/pixi-run-test-cuda-13-3
Open

Fix pixi run test: CUDA 13.3 pin lag + cython-test .so placement#2180
rparolin wants to merge 2 commits into
NVIDIA:mainfrom
rparolin:fix/pixi-run-test-cuda-13-3

Conversation

@rparolin

@rparolin rparolin commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

pixi run test did not complete from a clean checkout. Two independent root causes, both downstream of CUDA toolkit drift:

  1. 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 pixi cuda-version pins stayed at 13.2 in cuda_bindings/pixi.toml and cuda_core/pixi.toml. The local build then compiled 13.3-referencing Cython code against a 13.2 nvrtc.h:

    'nvrtcBundledHeadersInfo' was not declared in this scope
    

    CI was unaffected because it builds wheels from ci/versions.yml (13.3.0), not via pixi run test.

  2. Cython-test .so placement bug (latent since fix(test): unblock root pixi run test workflow #1978). tests/cython/build_tests.py runs build_ext --inplace, which writes the .so relative to cwd. pixi runs the 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. fix(test): unblock root pixi run test workflow #1978's verification silently reused a correctly-placed .so from an earlier build; a clean checkout fails with ModuleNotFoundError.

Changes

  • Pin bump 13.2.* → 13.3.* (build-variants + feature.cu13) in both pixi.toml, matching the regenerated sources and ci/versions.yml; re-solved pixi.lock ×2.
  • os.chdir(script_dir) before build_ext --inplace in both build_tests.py (kept aligned per fix(test): unblock root pixi run test workflow #1978) so the .so lands next to its .pyx regardless of cwd.

Verification

pixi run test (env cu13) now completes, exit 0:

Subpackage Passed Skipped xfailed
pathfinder 975 4
bindings 429 20
core 3373 210 3

Confirmed the rebuilt .so lands in tests/cython/ (package root clean), proving the placement fix rather than a leftover artifact.

🤖 Generated with Claude Code

rparolin and others added 2 commits June 8, 2026 16:53
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>
@rparolin rparolin added this to the cuda.bindings next milestone Jun 8, 2026
@rparolin rparolin added bug Something isn't working CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module labels Jun 8, 2026
@github-actions github-actions Bot added the cuda.core Everything related to the cuda.core module label Jun 8, 2026
@rparolin rparolin self-assigned this Jun 8, 2026
@rparolin rparolin requested review from leofang and mdboom June 8, 2026 23:55
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

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

Labels

bug Something isn't working CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant