Published September 12, 2026
| Version 0.16.0
Software
Open
CUDA-Q
Authors/Creators
Description
<!-- Release notes generated using configuration in .github/release.yml at releases/v0.16.0 -->
What's Changed
Features and Enhancements 🎉
- Support disconnected device topologies in the qubit mapper by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4824
- Add Python 3.14 support by @mitchdz in https://github.com/NVIDIA/cuda-quantum/pull/4670
- Expanded mapping support for control flow by @atgeller in https://github.com/NVIDIA/cuda-quantum/pull/4838
- Support for static Rotation Gate Synthesis (Clifford + T) by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/4508
- Add the ability to disable all quantum optimizations by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5057
- Introduce atomic quantum regions by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/5275
- Adding CUDA-Q Logical by @bettinaheim in https://github.com/NVIDIA/cuda-quantum/pull/5422
Bug Fixes 🐛
- Fix multi-qubit noise broadcast in Stim MSM mode by @bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/4731
- [python] Serialize MLIR pass manager runs for async compilation by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4771
- [braket] Fix the basis gate set for decomposition so that unsupported gates such as
sdgandtdgare not emitted by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4787 - Fix cudaq.evolve with shared Hamiltonian and batched initial states by @huaweil-nv in https://github.com/NVIDIA/cuda-quantum/pull/4835
- Support individual-qubit operand in
exp_pauliby @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/4852 - Fix mixed int/float arithmetic promotion by @huaweil-nv in https://github.com/NVIDIA/cuda-quantum/pull/4854
- Fix dataclass kernel argument containing list raises std::bad_cast by @atgeller in https://github.com/NVIDIA/cuda-quantum/pull/4860
- Correctly handle early
returnin Python by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/4864 - [python] Fix translation of return-typed kernels by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4858
- Qubit ordering problem on IQM backends #4621 by @iqm-bhoffmann in https://github.com/NVIDIA/cuda-quantum/pull/4818
- [runtime] Preserve measurement handles across nested JIT calls by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4861
- Fix type inference of captured arguments by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/4871
- Fix cudaq.run crash when remote server returns fewer shots than requested by @adityabagchi24 in https://github.com/NVIDIA/cuda-quantum/pull/4883
- Fix odd-electron UCCSD virtual orbital indices by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4893
- Implementing -MD, -MMD, -MT and -MF in nvqpp by @Renaud-K in https://github.com/NVIDIA/cuda-quantum/pull/4929
- Add support for empty state vectors in statevector simulator by @mitchdz in https://github.com/NVIDIA/cuda-quantum/pull/4947
- Enable qubit reuse in cudaq::run by @anpaz in https://github.com/NVIDIA/cuda-quantum/pull/4945
- Add an owned single-flight compiled-module cache by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4998
- Fix distributed explicit-state initialization in dynamic backend by @huaweil-nv in https://github.com/NVIDIA/cuda-quantum/pull/4988
- Fixing cudaq-translate crash on custom operations with -fno-array-conversion by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5010
- Fix segfault crash when there are pending tasks in the QPU execution queue by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/5030
- Fix density matrix layout across QPP and dynamics when states are created from complex_matrix by @huaweil-nv in https://github.com/NVIDIA/cuda-quantum/pull/5053
- Fixing transposed closed-system propagator in cudaq.contrib by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5093
- Preserving state layout metadata when splitting a batched state by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5115
- Fix aliasing issues for quantum vectors by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5126
- Minor CMake fixes by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/5169
- Fail decomposition when no basis is supplied by @EvanGruhlkey in https://github.com/NVIDIA/cuda-quantum/pull/5158
- Selectively unroll loops with dynamic pauli-word indexing by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/5191
- Fixup qubit ordering problem on IQM backends by @iqm-bhoffmann in https://github.com/NVIDIA/cuda-quantum/pull/5074
- Fixing nested-loop adjoint by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5233
- Fix
MemToReglive-ins forcc.scopeby @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/5238 - Fix Resource Estimation on value semantics by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/5148
- Fix unwind threading bug by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5246
- Fix exit block collection bug in memtoreg by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5256
- Fix a bug when initializer expression in missing in C++ for-loops by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5265
- Fix some bugs in handling of the Python for-else construct by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5282
- Ensure qubits in Python loops and ifs get freed by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5292
- Fix some memtoreg issues by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5293
Breaking Changes 🛠
- realtime: self-relaunching device-graph scheduler for unbounded device-side dispatch by @cketcham2333 in https://github.com/NVIDIA/cuda-quantum/pull/4783
- Updating cuquantum to 26.06.0 by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/4815
- [realtime] Split graph launch dispatch from the host ring loop by @boschmitt in https://github.com/NVIDIA/cuda-quantum/pull/4770
- Removing deprecated SpinOp operations by @anpaz in https://github.com/NVIDIA/cuda-quantum/pull/4833
- Pluggable transport providers for cudaq-realtime by @bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/4915
- Rename of the IR type stdvec by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5089
Documentation Updates ✏️
- [docs] Updated docs for
stim::ErrorAnalyzer::circuit_to_detector_error_modelflags indem_from_kernelby @eliotheinrich in https://github.com/NVIDIA/cuda-quantum/pull/4795 - [docs] Document m2d/m2o measurement matrix output for dem_from_kernel by @bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/4839
- Fix operator examples in docs by @mitchdz in https://github.com/NVIDIA/cuda-quantum/pull/4376
- Add CUDA-Q compiler develop documentation section with dialect references by @taalexander in https://github.com/NVIDIA/cuda-quantum/pull/4930
- Rename hololink GPU-side transceiver software by @cketcham2333 in https://github.com/NVIDIA/cuda-quantum/pull/5006
- Update the statevector simulators to leverage the latest improvements in cuquantum by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/5025
- Add documentation for developing the Cuda-Q MLIR compiler by @taalexander in https://github.com/NVIDIA/cuda-quantum/pull/4938
- Adding qbraid examples to the doc by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5078
- Add cudaq-devel wheel by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/5087
- Adding qbraid to hw providers by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5120
- Adding --installpath option to the realtime installer by @Renaud-K in https://github.com/NVIDIA/cuda-quantum/pull/5134
- Support scopes in qubit mapping by @taalexander in https://github.com/NVIDIA/cuda-quantum/pull/5124
- Add link to pulse research preview by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/5255
- Update documentation for atomic quantum regions by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/5321
Other Changes
- Enable HOST_CALL entries in device_call host_dispatch channel by @vedika-saravanan in https://github.com/NVIDIA/cuda-quantum/pull/4729
- [unitaryhack] Add closed- and open-system dynamics propagators by @friedsam in https://github.com/NVIDIA/cuda-quantum/pull/4672
- Add shared-ring realtime dispatch routing support by @cketcham2333 in https://github.com/NVIDIA/cuda-quantum/pull/4712
- [unitaryhack] Support unitary synthesis for 3+ qubit custom operations (QSD) by @thedaemon-wizard in https://github.com/NVIDIA/cuda-quantum/pull/4693
- Add two quantum embeddings by @simsaidan in https://github.com/NVIDIA/cuda-quantum/pull/4667
- [unitaryhack] Topology-aware initial placement for the qubit-mapping pass by @border-b in https://github.com/NVIDIA/cuda-quantum/pull/4678
- Add kernel math function support by @LubuSeb in https://github.com/NVIDIA/cuda-quantum/pull/4680
- [macOS] Surface simulator kernel exceptions across the macOS JIT boundary by @mitchdz in https://github.com/NVIDIA/cuda-quantum/pull/4777
- Implement conditional loop unrolling for value-semantics pipelines by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/4784
- Accept np.floor in Python kernels by @aryanputta in https://github.com/NVIDIA/cuda-quantum/pull/4785
- Support trivial control flow in Mapping by @atgeller in https://github.com/NVIDIA/cuda-quantum/pull/4733
- Add support for UDP transport in cudaq-realtime by @bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/4877
- Add unified CPU dispatch loop to cudaq-realtime by @boschmitt in https://github.com/NVIDIA/cuda-quantum/pull/4869
- Deal with disconnected-island packing in qubit mapping by @Adithyaphani in https://github.com/NVIDIA/cuda-quantum/pull/4885
- Avoid repeated scans for unbound measurement handles by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4937
- Make Python AST bridge terminator queries constant time by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4936
- Reuse dominance-safe fixed qvector references by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4943
- External backends Plugin Framework by @anpaz in https://github.com/NVIDIA/cuda-quantum/pull/4754
- Fix and issue with compiled-module cache reuse by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/4978
- Use shared libcudaqMLIR dependency everywhere by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/4928
- Static-link CUDA runtime in cudaq-realtime UDP bridge provider by @Renaud-K in https://github.com/NVIDIA/cuda-quantum/pull/4999
- [python] Reuse compiled modules across asynchronous launches by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/5008
- [core] Update wire and cable to be SSI types. by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5033
- Adding a negligible rotation pruning pass by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/4992
- Enabling quantum optimizations on value semantics by default by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/4993
- [Python] Materialize broadcast arguments once by @khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/5069
- Minor CMake hardening, fixes & tweaks by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/5054
- Representation and optimization of global phases during compilation by @cabreraam in https://github.com/NVIDIA/cuda-quantum/pull/4976
- Accept global-register expectations in async Future by @tomers-qedma in https://github.com/NVIDIA/cuda-quantum/pull/5101
- Support Python math functions in addition to numpy functions by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/5130
- Expose dependency-aware T-depth resource metric by @taalexander in https://github.com/NVIDIA/cuda-quantum/pull/5145
- Migrate phase folding for value semantics by @atgeller in https://github.com/NVIDIA/cuda-quantum/pull/5021
- Computing CuDensityMatState overlap on the GPU by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5184
- Overhaul of apply op specialization by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/4940
- Adding set_function_entry to brige API by @Renaud-K in https://github.com/NVIDIA/cuda-quantum/pull/5155
- Support std::fmod in C++ QPU kernels by @Bryanzzy1 in https://github.com/NVIDIA/cuda-quantum/pull/5217
- Tune gridsynth and expose controls by @sacpis in https://github.com/NVIDIA/cuda-quantum/pull/5143
- [core] Add a new pass to convert control flow to dataflow. by @schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/5239
- Support basic measurement feedback in qubit mapping by @1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/5235
- Ergonomic improvements for downstream packages by @lmondada in https://github.com/NVIDIA/cuda-quantum/pull/5253
New Contributors
- @friedsam made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4672
- @thedaemon-wizard made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4693
- @simsaidan made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4667
- @border-b made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4678
- @LubuSeb made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4680
- @Adithyaphani made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4790
- @adityabagchi24 made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/4883
- @tomers-qedma made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/5101
- @EvanGruhlkey made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/5158
- @Bryanzzy1 made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/5217
Full Changelog: https://github.com/NVIDIA/cuda-quantum/compare/0.15.0...0.16.0
Notes
Files
NVIDIA/cuda-quantum-0.16.0.zip
Files
(117.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:dea13754822d8bdd27ab003a5927ba53
|
117.8 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/NVIDIA/cuda-quantum/tree/0.16.0 (URL)
Software
- Repository URL
- https://github.com/NVIDIA/cuda-quantum