Published September 12, 2026 | Version 0.16.0

CUDA-Q

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 sdg and tdg are 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_pauli by @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 return in 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 MemToReg live-ins for cc.scope by @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_model flags in dem_from_kernel by @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

If you use this software, please cite it as below.

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