Skip to content

Require cudaq >= 0.16.0 - #50

Open
wsttiger wants to merge 2 commits into
NVIDIA:mainfrom
wsttiger:fix/bump_cudaq_0_16
Open

wsttiger wants to merge 2 commits into
NVIDIA:mainfrom
wsttiger:fix/bump_cudaq_0_16

Conversation

@wsttiger

@wsttiger wsttiger commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Description

CUDA-Q 0.16.0 is released; this makes it the minimum supported
version. Four coordinated changes:

  • pyproject.toml: the wheel now declares cudaq >= 0.16.0, < 0.17.
  • CI pip lanes install the same range (kept in lockstep by design —
    PRs test exactly the claim the wheel ships).
  • The Custom-mode wheel version placeholder moves 0.15.99 → 0.16.99 to
    stay above the released version line.

Validation

  • Full suite run against the released cudaq==0.16.0 wheel ahead of
    this PR: 472 passed / 3 skipped on the primitives line (a superset
    of every test on main). v0.1.0-era functionality requires no code
    changes on 0.16.
  • The one 0.16-sensitive construction (1-bit-address QROM lookups in
    the unary-iteration feature) ships with its own protection — the
    dispatch-pruning commit already on Add unary-iteration and QROM primitives #40 — so this PR and Add unary-iteration and QROM primitives #40 can
    merge in either order. Open PRs adopt the new range only when they
    rebase, at which point they inherit that commit too.
  • This PR's own CI validates the switch: the pip lanes install 0.16.0
    and run the full suite against it.
  • The .cudaq_version pin bump is deliberately split into a follow-up
    PR: its first firing of the from-source lanes surfaced a
    build-layout change in the 0.16 source tree (built install no longer
    exposes the python package on the expected prefix path) — the lanes
    doing exactly the job Test PRs against released cudaq; from-source becomes a manual probe #42's review designed them for. The pin moves
    once the build plumbing adapts.

Notes

  • 0.16.0 ships without the fix for cuda-quantum#5280 (verified in the
    release tag); with the pruning commit merged, nothing in this
    library triggers it.
  • 0.16 lifts the control-variant restriction on kernels calling
    kernels; follow-up modernization (composed select_swap, composition
    contract) is staged on features/primitives_016_refactor and lands
    separately after this.

CUDA-Q 0.16.0 is released; make it the minimum. The wheel's declared
range, the CI pip install range, and the Custom-mode wheel version
placeholder move together.

Full-suite validation against the released cudaq==0.16.0 wheel was run
ahead of this change (472 passed / 3 skipped on the primitives line,
which includes every test on main); v0.1.0-era functionality needs no
code changes on 0.16. The one 0.16-sensitive construction (1-bit-
address QROM lookups) ships with its own protection — the dispatch-
pruning commit already on the QROM PR (NVIDIA#40) — so this change and NVIDIA#40
can merge in either order; open PRs adopt the new range only when they
rebase, at which point they inherit that commit too.

The .cudaq_version pin bump to the 0.16.0 release commit is split into
a follow-up: its first firing of the from-source lanes surfaced a
build-layout change in the 0.16 source tree (the built install no
longer exposes the python package on the expected prefix path), which
the build plumbing must adapt to before the pin can move.

Signed-off-by: Scott Thornton <wsttiger@gmail.com>

@anjbur anjbur left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll also need to bump the 0.15.99 version used in get-cudaq-wheels/action.yaml up to 0.16.99. Otherwise, the CI will break for Custom wheel builds.

The version bump to cudaq 0.16 missed the release_version build-args in
get-cudaq-wheels/action.yaml; Custom wheel builds would break otherwise
(review from anjbur on PR NVIDIA#50).

Signed-off-by: Scott Thornton <wsttiger@gmail.com>
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