Skip to content

build(cuda)!: raise minimum CUDA support to 12.6#382

Draft
plexoos wants to merge 1 commit into
mainfrom
set-min-cuda-12.6
Draft

build(cuda)!: raise minimum CUDA support to 12.6#382
plexoos wants to merge 1 commit into
mainfrom
set-min-cuda-12.6

Conversation

@plexoos

@plexoos plexoos commented Jun 25, 2026

Copy link
Copy Markdown
Member

Raises the minimum supported CUDA version from 12.1 to 12.6 and updates CI/container coverage to
avoid CUDA compiler versions that hang while compiling optimized Release PTX.

PR #380 exposed a CUDA compiler issue when CSGOptiX7.cu is compiled as optimized Release PTX with production definitions. Older CUDA 12.x compilers enter a high-CPU cicc hang while trying to optimize/inline the generated device code.

Local testing showed:

CUDA Release PTX result
12.5.1 hangs / timeout
12.6.3 hangs / timeout
12.8.2 passes
12.9.2 passes
13.0.2 passes in CI

CUDA 12.6 is kept as the general minimum supported version, while Release image coverage uses CUDA 12.8.2+ because CUDA 12.6.3 still reproduces the Release PTX compiler hang.

  • Require CUDA 12.6+ at top-level CMake configure time.
  • Require CUDAToolkit 12.6 in package config and CUDA-dependent test CMake files.
  • Replace legacy CUDA 12.1/12.5 CI images with:
    • CUDA 12.6.3 for minimum develop/debug coverage.
    • CUDA 12.8.2 for oldest Release coverage.
  • Update README and getting-started docs to document CUDA 12.6+.
  • Document CUDA 12.8.2+ as recommended for production Release PTX builds.

CUDA 12.1 and 12.5 are no longer supported by the project CI matrix or CMake configuration.

Raises the minimum supported CUDA version from 12.1 to 12.6 and updates CI/container coverage to
avoid CUDA compiler versions that hang while compiling optimized Release PTX.

PR #1172 exposed a CUDA compiler issue when `CSGOptiX7.cu` is compiled as optimized Release PTX with production definitions. Older CUDA 12.x compilers enter a high-CPU `cicc` hang while trying to optimize/inline the generated device code.

Local testing showed:

| CUDA | Release PTX result |
|---|---|
| 12.5.1 | hangs / timeout |
| 12.6.3 | hangs / timeout |
| 12.8.2 | passes |
| 12.9.2 | passes |
| 13.0.2 | passes in CI |

CUDA 12.6 is kept as the general minimum supported version, while Release image coverage uses CUDA 12.8.2+ because CUDA 12.6.3 still reproduces the Release PTX compiler hang.

- Require CUDA 12.6+ at top-level CMake configure time.
- Require `CUDAToolkit 12.6` in package config and CUDA-dependent test CMake files.
- Replace legacy CUDA 12.1/12.5 CI images with:
  - CUDA 12.6.3 for minimum develop/debug coverage.
  - CUDA 12.8.2 for oldest Release coverage.
- Update README and getting-started docs to document CUDA 12.6+.
- Document CUDA 12.8.2+ as recommended for production Release PTX builds.

CUDA 12.1 and 12.5 are no longer supported by the project CI matrix or CMake configuration.
@plexoos

plexoos commented Jun 26, 2026

Copy link
Copy Markdown
Member Author

There is no immediate need to raise the minimum CUDA version to 12.6. The issue discussed in #380 has been addressed there by forcing qsim::propagate(...) to be inlined.

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.

1 participant