Bump CUDA-Q to 28f195f4 and skip QECCodeTester.checkBitflip - #778
Merged
Conversation
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>
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>
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.
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_optimizationfor 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.