Skip to content

Bump CUDA-Q to 28f195f4 and skip QECCodeTester.checkBitflip - #778

Merged
bmhowe23 merged 1 commit into
NVIDIA:mainfrom
bmhowe23:bmh/bump-cudaq-2026-08-07
Aug 7, 2026
Merged

Bump CUDA-Q to 28f195f4 and skip QECCodeTester.checkBitflip#778
bmhowe23 merged 1 commit into
NVIDIA:mainfrom
bmhowe23:bmh/bump-cudaq-2026-08-07

Conversation

@bmhowe23

@bmhowe23 bmhowe23 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Moves the .cudaq_version pin from 90b0f4d8 to 28f195f4, picking up the CUDA-Q work merged since 2026-07-31.

One test has to be skipped to take the bump. QECCodeTester.checkBitflip samples a kernel that is deliberately just h(q); h(q), so that a bit_flip channel attached to "h" has two gates to act on. Since CUDA-Q enabled value semantics and quantum optimizations
(NVIDIA/cuda-quantum#4993), quake-simplify cancels the back-to-back Hermitian pair and dqe removes the now-dead qubit allocation, so the kernel reaches the simulator with no qubits:

"Sampling detected on a kernel with no qubits. Your kernel must have
qubits to sample it."

Cancelling those gates is not semantics-preserving under a noise model, because channels are keyed on the gate name and deleting the gates deletes the noise. There is currently no way to opt out from C++: NVIDIA/cuda-quantum#5048 added disable_quantum_optimization for Python kernels only, and the C++ equivalent, NVIDIA/cuda-quantum#5057, is still open. The skip records that dependency so the test can be restored when 5057 lands or the optimizations become noise-aware.

The other two failures seen against CUDA-Q main in recent nightlies, app_examples.surface_code-1-quantinuum-emulate-test-distance-{3,5}, were already addressed by #776 and need no further change here.

Nightly runs 31076816948 (2026-08-06) and 31152253601 (2026-08-07) show checkBitflip failing on all four arch x CUDA combinations in both the QEC and All-libs jobs, with Solvers and Docs green.

Moves the .cudaq_version pin from 90b0f4d8 to 28f195f4, picking up the
CUDA-Q work merged since 2026-07-31.

One test has to be skipped to take the bump. QECCodeTester.checkBitflip
samples a kernel that is deliberately just `h(q); h(q)`, so that a
bit_flip channel attached to "h" has two gates to act on. Since CUDA-Q
enabled value semantics and quantum optimizations
(NVIDIA/cuda-quantum#4993), quake-simplify cancels the back-to-back
Hermitian pair and dqe removes the now-dead qubit allocation, so the
kernel reaches the simulator with no qubits:

  "Sampling detected on a kernel with no qubits. Your kernel must have
   qubits to sample it."

Cancelling those gates is not semantics-preserving under a noise model,
because channels are keyed on the gate name and deleting the gates
deletes the noise. There is currently no way to opt out from C++:
NVIDIA/cuda-quantum#5048 added `disable_quantum_optimization` for Python
kernels only, and the C++ equivalent, NVIDIA/cuda-quantum#5057, is still
open. The skip records that dependency so the test can be restored when
5057 lands or the optimizations become noise-aware.

The other two failures seen against CUDA-Q main in recent nightlies,
app_examples.surface_code-1-quantinuum-emulate-test-distance-{3,5}, were
already addressed by NVIDIA#776 and need no further change here.

Nightly runs 31076816948 (2026-08-06) and 31152253601 (2026-08-07) show
checkBitflip failing on all four arch x CUDA combinations in both the
QEC and All-libs jobs, with Solvers and Docs green.

Signed-off-by: Ben Howe <bhowe@nvidia.com>
@bmhowe23
bmhowe23 merged commit b0f4604 into NVIDIA:main Aug 7, 2026
67 checks passed
@bmhowe23
bmhowe23 deleted the bmh/bump-cudaq-2026-08-07 branch August 7, 2026 23:44
melody-ren added a commit to melody-ren/cudaqx that referenced this pull request Aug 14, 2026
No conflicts. The nine commits since the last merge touch the realtime path
again -- NVIDIA#769 serves HOST_CALL inline and retires the worker threads, queues,
and CqrTransceiver; NVIDIA#759 adds the dynamic-DEM infrastructure that reshapes
create_realtime_decoder around chunk expansion -- but none of it reaches the
inproc_rpc path this branch removes: no reference to inproc_rpc,
qec_realtime_session, or rpc_producer comes back, and none of the deleted
sources reappear.

NVIDIA#778 moves the CUDA-Q pin to 28f195f4, so verification needs a toolchain
rebuilt at that commit.

Signed-off-by: Melody Ren <melodyr@nvidia.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.

1 participant