Skip to content

Releases: NVIDIA/cudaq-qec

0.8.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 12 Sep 21:59
2e2fad6

CUDA-Q QEC 0.8.0

This is a release of CUDA-Q QEC version 0.8.0. (CUDA-Q Solvers is not included in this release; see CUDA-Q Algorithms for a replacement for CUDA-Q Solvers.)

CUDA-Q QEC 0.8.0 is a decoder-focused release centered on new decoder options. The most notable change is:

  • A new NV Fusion Decoder. nv_fusion_decoder is a multi-threaded minimum-weight perfect matching decoder that combines fusion blossom with PyMatching's sparse blossom: the matching graph is partitioned into temporal blocks solved independently and then fused across their boundaries, dispatched to a worker pool as syndrome data arrives, so it is designed for low-latency streaming/realtime decoding as well as offline batch decoding (contributed by @tlshannon). This is currently closed source, so source code for this decoder is not available in GitHub at this time.

Additionally, nv-qldpc-decoder (closed source) gains two new features. The osd_init_method="min_llr" option makes BP+OSD far more accurate on full circuit-level (joint XYZ) decoding problems, cutting the logical error rate by up to 117x while running significantly fewer BP iterations. The relay_solutions helper records every Relay BP convergence during a decode, so the whole RelayBP-N stop_nconv trade-off curve can be computed offline from a single run instead of re-decoding once per N value (61 runs in the documented example).

Please check out the docs and examples for how to get started using CUDA-Q QEC.

Dependency note: CUDA-Q QEC 0.8.0 depends on CUDA-Q 0.16.


Features and Enhancements (QEC) 🎉

Decoders

  • Add NV Fusion Decoder QEC plugin - a new multi-threaded fusion-blossom/sparse-blossom MWPM decoder for streaming and batch decoding, with decoder stats, latency speedups, and auto-selected block_leaf_size by @tlshannon.
  • Allow a realtime decoder to be constructed from a raw Stim DEM (stim_dem_path in YAML) by @tlshannon in #801 — a third way (alongside flat-matrix and dem_chunks forms) to describe a decoder's error model on the realtime path, enabling DEM-native decoders such as Chromobius there. In particular, this lets a realtime color-code predecoder pipeline chain Chromobius in as the global decoder (stim_dem_path reaches the nested global decoder via global_decoder_params["stim_dem"]), since Chromobius rejects a parity-check-matrix representation outright and previously could not be configured on the realtime path at all. See NVIDIA/Ising-Decoding for the color-code predecoder this is designed to pair with.
  • Add common decoder-stats functions (decoder_stats) for consistent latency/replay logging across decoders by @tlshannon in #802.
  • Add [Core] rvalue insert(key, T&&) overload to heterogeneous_map, avoiding unnecessary deep copies of large payloads (e.g. syndrome/LLR history) by @bmhowe23 in #781.

Bindings / examples

  • Replace msm execution contexts with cudaq::dem_from_kernel in app examples by @bmhowe23 in #696.
  • Accept both cc.StdvecType and cc.SequenceType in py_code, tracking a CUDA-Q internal rename by @bmhowe23 in #786.

nv-qldpc-decoder Updates (Closed Source)

New features and options

  • osd_init_method="min_llr" (@bmhowe23) — a new OSD seeding mode that initializes the OSD solver with the minimum-LLR-magnitude scoreboard rather than the existing default. This makes BP+OSD far more accurate on full circuit-level (joint XYZ) decoding problems while running significantly fewer BP iterations.
  • relay_solutions post-processing helper (@bmhowe23) — a pure-NumPy module that reconstructs, offline, what relay-BP would have returned for any stop_nconv setting from a single uncapped recording run, plus batch_opt_results plumbing to carry relay_solutions records through the decoder API. It records every relay-BP convergence (not just the accepted one).
  • Speed up BP LLR-history collection on the sparse-GPU path (@bmhowe23).

Bug Fixes (QEC) 🐛

  • Fix PyMatching parallel-edge merge mapping and realtime observable output (native decode_to_obs output instead of an error-frame-to-observable projection) — cuts realtime PyMatching decode latency by ~30-35% on GB200 by @vedika-saravanan in #799.
  • Reduce realtime decode latency by resolving detectors as measurements arrive and reusing PyMatching scratch buffers (steady-state decode() now allocates nothing) by @tlshannon in #812.
  • Fix decoder lifetime during async decoding by @kaiqiy-nv in #711.
  • Validate AI decoder RPC slot capacity to prevent gateway output from overwriting adjacent slots by @kaiqiy-nv in #764.

Breaking Changes & Deprecations ⚠️

Documentation ✏️

  • Add a gamma-ensemble Relay-BP performance-tuning guide by @eliotheinrich in #755, plus the accompanying standalone benchmarking scripts by @eliotheinrich in #766.
  • Correct realtime decoding example commands (surface_code_1.py filename, --emulate opt-in, Quantinuum payload provider args) by @vedika-saravanan in #749.
  • Add versioning to the docs site (gh-pages version switcher) by @anjbur in #761.
  • Update doc layout to match the 0.7.0 release branch's layout while keeping main's content by @melody-ren in #760.

Common / Misc

CI / build plumbing

  • Give each build_wheels.yaml instance a distinct artifact name by @bmhowe23 in #767.
  • Update validation-wheels script for CUDA/torch package-compatibility issues and ARM TensorRT availability by @kaiqiy-nv in #817.
  • Update sync workflow to fetch LFS objects from upstream (fixing 404s when upstream adds new LFS files) and to use unauthenticated access to the public repo by @anjbur in #757 / #762.
  • Make the CUDA-Q build stage of the dev image optional (parametrized FROM) so a realtime-development image can be composed from cudaqx + CUDA-Q realtime docker assets, default behavior unchanged, by @Renaud-K in #793.

Release housekeeping

  • 0.8.0 release housekeeping: CUDA-Q 0.16 bump and updated OSRB third-party notice language by @anjbur in #818 / #820.

0.7.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 03 Aug 19:02
02c4339

CUDA-Q QEC 0.7.0

This is a release of CUDA-Q QEC version 0.7.0. (CUDA-Q Solvers is not included in this release.)

CUDA-Q QEC 0.7.0 is a decoder-focused release that makes the decoder stack faster, more scalable under real-time constraints, and easier to extend. The most notable changes are:

  • Lower logical error rates under real-time deadlines. The closed-source nv-qldpc-decoder adds a new gamma-ensemble Relay-BP mode (contributed by @kvmto) that runs several independent gamma trajectories ("lanes") in parallel on a single GPU and exits as soon as any lane converges. By contracting the decoder's latency tail — what matters most when every decode must finish within a fixed wall-clock budget, as in real-time QEC — it lowers the logical error rate under fixed decoding deadlines by up to ~89× for large bivariate-bicycle qLDPC codes on a GB200 (for example ~89× for [[288,12,18]] and ~41× for [[144,12,12]] at deadlines of ~1–5 ms), while also tightening worst-case (p99.99) latency by ~2.7-5.5×. See Improving Relay BP Decoding With Gamma Ensembles for more details.
  • Sparse parity-check matrices end to end, so large qLDPC codes no longer need their parity-check matrices materialized as dense tensors — including native scipy.sparse input for the nv-qldpc-decoder.
  • Decoder construction directly from Stim detector-error-model (DEM) strings, plus a new DEM-native Chromobius color-code decoder.
  • A GPU/CPU dem_sampling capability
  • Surface-code orientation (XV/XH/ZV/ZH) control.
  • A declarative decoder-configuration schema that lets third-party decoders be fully YAML-configurable from their own shared library with no CUDA-Q QEC rebuild.

Beyond gamma-ensemble, the nv-qldpc-decoder also gains sum-product BP variants and on-device observables output, along with several performance and correctness fixes. Under the hood, the Python bindings were migrated from Pybind11 to Nanobind for upstream CUDA-Q compatibility, and the decoder/realtime code paths were decoupled from the CUDA-Q runtime (including a dedicated CUDA-Q QEC logger).

Please check out the docs and examples for how to get started using CUDA-Q QEC.

Dependency note: CUDA-Q QEC 0.7.0 depends on CUDA-Q 0.15.1 and builds against its published images (CUDA 12.6 and 13.0).

Realtime decoding: The real-time GPU decoding capabilities introduced in 0.6.0 (the CUDA-Q Realtime HOST_LOOP bridge and the Relay-BP / PyMatching predecoder examples) continue to work in 0.7.0.


Features and Enhancements (QEC) 🎉

Decoders & detector error models

  • Sparse parity-check matrix support for decoders by @vedika-saravanan in #550
  • Sparse-aware PCM utility migration by @vedika-saravanan in #602
  • Make canonicalization a member of sparse_binary_matrix by @vedika-saravanan in #599
  • Adopt scipy.sparse as optional interop by @bmhowe23 in #590
  • Fix dense → sparse conversion in get_decoder to avoid redundant copies by @bmhowe23 in #589
  • Support Stim DEM strings in get_decoder by @vedika-saravanan in #571
  • DEM from Stim text can use error decompositions by @eliotheinrich in #615
  • Add dem_sampling with CPU and GPU backends (C++ and Python) by @kvmto in #479
  • Add Chromobius decoder to the decoder plugins by @wsttiger in #546
  • Add YAML and Python config support for Chromobius / TRT global decoder by @melody-ren in #633
  • Extend trt_decoder with global decoder chaining by @bmhowe23 in #524
  • Expand TRT decoder YAML config for composite decoding by @wsttiger in #536
  • Add CLI override flags and from_name to PipelineConfig by @wsttiger in #503
  • Fix ai_decoder_service TRT builder for quantized ONNX (FP8) by @wsttiger in #507
  • Add boundary-aware overloads for canonicalize_for_rounds and sliding-window decoder by @eliotheinrich in #656
  • Use canonical soft-to-hard decoder conversion by @melody-ren in #553
  • Return Python decode result as NumPy arrays by @melody-ren in #558
  • trt_decoder now throws on inference failure instead of returning stale/zeroed results by @melody-ren in #680

Note (composite decoding): The trt_decoder can chain a second-stage "global" decoder (for example PyMatching or Chromobius) via the global_decoder and global_decoder_params options. When constructing the decoder directly (rather than from a YAML config, which fills this in automatically), you must supply global_decoder_params — an empty map is fine — whenever global_decoder is set, or the global stage is skipped.

Codes & circuits

Extensibility & diagnostics

  • Declarative decoder parameter schemas: pluggable realtime decoder configuration by @bmhowe23 in #679
  • Create CUDA-Q QEC logger by @tlshannon in #630
  • Add cuda_device_id placement knob for GPU decoders by @melody-ren in #690
  • Route every decoder device pin through one resolver and two wrappers by @melody-ren in #698

Realtime decoding infrastructure (experimental)

  • Standalone realtime QEC decoding server by @bmhowe23 in #666
  • Add QEC decoder-server core and CQR adapter by @vedika-saravanan in #653
  • Add host-side in-process-RPC path for real-time QEC decoding by @cketcham2333 in #609
  • Add PyMatching HOST_CALL decoder-server RPC path by @cketcham2333 in #600
  • Add vanilla PyMatching support to realtime decoder config by @vedika-saravanan in #614
  • qec/realtime: device-graph scheduler for per-round Hololink QLDPC decoding by @cketcham2333 in #631
  • Add bundled decoder_context struct for measurement extraction by @eliotheinrich in #671
  • Virtualize methods in realtime decoder API by @bmhowe23 in #674
  • Consolidate decoder RPC wire format into a single header by @bmhowe23 in #681
  • Move nv-qldpc-decoder schema registration into its plugin by @bmhowe23 in #701
  • Decoding server: add virtual hooks for decoder plugins to set D/O sparse matrices by @tlshannon in #746

Realtime infrastructure — fixes & test coverage (experimental):

nv-qldpc-decoder Updates (Closed Source)

New features and options

  • Gamma-ensemble sequential relay-BP (@kvmto) — a new sparse-GPU kernel adds a gamma_ensemble_size option (1/2/4/8; default 1 = disabled) that runs multiple parallel gamma "lanes" per relay iteration with race-to-fastest semantics (first lane to satisfy the stopping criterion wins; ties broken by lowest-weight correction). Supported on the sparse-GPU single-decode path with composition=1 and bp_method=3 or 5.
  • Sum-product BP variants (@bmhowe23) — bp_method gains 4 (sum-product + memory) and 5 (sum-product + damped memory), both requiring use_sparsity=True. Sequential relay (composition=1) now accepts bp_method=5, with gamma0, gamma_dist, and explicit_gammas extended to the new methods.
  • Native scipy.sparse parity-check-matrix input (@vedika-saravanan, @bmhowe23) — the decoder was migrated to the sparse_binary_matrix API and accepts any scipy.sparse format (CSR/CSC/COO/…) directly, with no dense .toarray()/.todense() conversion.
  • On-device observables output (@melody-ren) — a new optional O matrix (shape num_observables × block_size) makes decode()/decode_batch() return observable flips (O · correction mod 2) directly instead of the raw correction vector.

Correctness fixes

  • Fixed a race condition and undersized allocations in the batched and persistent-buffer sparse-GPU BP paths (@bmhowe23).
  • Fixed a sparse batched-GPU offset overflow and an out-of-bounds access in the OSD solver (osd_solver_gf2) (@melody-ren).

Build / packaging

  • AArch64 builds now target -march=armv8-a (was -march=native) for portability; x86-64 remains at x86-64-v3 (AVX2/SSE2).
  • Wired the plugin into the new de...
Read more

0.6.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 14 Apr 14:24
84d18ca

CUDA-Q QEC 0.6.0 and CUDA-Q Solvers 0.6.0

This is combined release of CUDA-Q QEC and CUDA-Q Solvers, both version 0.6.0.

This is the first CUDA-Q QEC release that builds example decoder applications on top of CUDA-Q Realtime [blog]. CUDA-Q QEC 0.6 ships with two new real-time-capable decoder pipelines: the RelayBP belief-propagation decoder for qLDPC codes and an NVIDIA Ising convolutional neural network (CNN) pre-decoder paired with a global decoder (PyMatching) for the surface code. These pipelines enable quantum vendors and QEC researchers to deploy real-time GPU decoding for two popular code families via NVQLink.

Additionally, this release of CUDA-Q QEC contains speed improvements for our GPU-accelerated RelayBP decoder (up to 19X!)

For CUDA-Q Solvers 0.6.0, support was added for a new UpCCGSD ansatz solver and a Coupled Exchange Operator (CEO) pool.

Please check out the docs and examples for how to get started using the CUDA-QX libraries!

Note: CUDA-Q QEC 0.6.0 and CUDA-Q Solvers 0.6.0 both depend on CUDA-Q 0.14. For CUDA-Q Realtime usage (experimental), you need to use CUDA-Q 0.14.1.

Features and Enhancements (QEC) 🎉

nv-qldpc-decoder Updates (Closed Source)

  • Implemented new graph capture interface functions to run RelayBP with CUDA-Q Realtime

  • Add new repeatable configuration option to enable bit-for-bit repeatable results when running back-to-back on the same system

  • Significant RelayBP optimizations, for both fp32 and fp64. Timings below show speedups relative to 0.5 for some well-known Bicycle Bivariate Codes on B200. All of the reported speedups are for non-batched, serial execution mode.

    Case Name (n_k_d) Variant Total Speedup (Ratio)
    72_12_6 fp32 3.44
    72_12_6 fp64 2.74
    144_12_12 fp32 5.50
    144_12_12 fp64 4.51
    288_12_18 fp32 19.06
    288_12_18 fp64 13.16
    Average 8.07

Bug Fixes (QEC) 🐛

Features and Enhancements (Solvers) 🎉

Bug Fixes (Solvers) 🐛

Documentation ✏️

Common / Misc

  • License updates by @bmhowe23 in #360
  • Add license agreement notification to Docker image by @bmhowe23 in #362
  • [core] Fix pre-existing extension point issue by @bmhowe23 in #374
  • Bump CUDA-Q commit (with support for breaking changes) by @github-actions[bot] in #416
  • Bump CUDA-Q commit (with non-trivial updates) by @github-actions[bot] in #437
  • Bump CUDA-Q commit and re-enable some tests by @bmhowe23 in #450
  • Bump CUDA-Q dependencies from 0.13 to 0.14 by @bmhowe23 in #468
  • Align CUDA-Q and CUDA-Q Realtime commits for 0.14.1 by @bmhowe23 in #489
  • Fix minor issues reported by Coverity by @kaiqiy-nv in #399
  • Redundantly including Logger.h and FmtCore.h includes ahead of runtime refactor. by @Renaud-K in #409
  • Update cuda-quantum-devdeps:ext-... to cuda-quantum-devcontainer-... by @bmhowe23 in #420
  • Fix build if CUDAQ_REALTIME_ROOT is not set by @bmhowe23 in #432
  • Follow-up to #396 and #416 - fix wheel builds by @bmhowe23 in #439
  • Update heterogeneous_map to recognize ints as bools by @bmhowe23 in #441
  • Update CMake for TensorRT decoder unit test by @bmhowe23 in #448

Testing

New Contributors

Read more

0.5.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 18 Nov 22:41
f39e4e7

CUDA-Q QEC 0.5.0 and CUDA-Q Solvers 0.5.0

This is combined release of CUDA-Q QEC and CUDA-Q Solvers, both version 0.5.0.

This release introduces three major new decoders - our TensorRT AI/ML decoder, a GPU-accelerated implementation of the RelayBP decoding algorithm [1], and a new Sliding Window decoder.

CUDA-Q QEC 0.5.0 also includes our first real-time decoder API, enabling true in-kernel decoding for quantum error-correcting codes implemented directly in CUDA-Q! This makes it possible to integrate real-time QEC decoding into device-side kernels and will allow richer experimentation both in simulation and on real hardware [2].

Additionally, support for CUDA 13 is added in this release. Many more features are listed below!

Note:
Support for Python 3.10 has been removed in this release.

Please check out the docs and examples for how to get started using the CUDA-QX libraries!

Note: CUDA-Q QEC 0.5.0 and CUDA-Q Solvers 0.5.0 both depend on CUDA-Q 0.13.0.

[1] https://arxiv.org/abs/2506.01779
[2] https://docs.quantinuum.com/systems/trainings/helios/getting_started/gpu_decoding.html

Features and Enhancements (QEC) 🎉

Bug Fixes (QEC) 🐛

  • Fix issue #258: added check and informative error message by @kvmto in #261
  • Fix tensor_network_decoder.py warning by @bmhowe23 in #328

nv-qldpc-decoder Updates (Closed Source)

  • Update the nv-qldpc-decoder to support RelayBP by adding new options into the existing framework
  • Update the nv-qldpc-decoder to support a proc_float option to select fp32 processing (instead of fp64 default)

Features and Enhancements (Solvers) 🎉

Bug Fixes (Solvers) 🐛

Documentation ✏️

Common / Misc

Testing

New Contributors

Full Changelog: 0.4.0...0.5.0

0.4.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 01 Aug 20:42
f731a8f

The CUDA-QX 0.4.0 release includes a variety of new features in both the Solvers and QEC library. For the Solvers library, a new Generative Quantum Eigensolver implementation is provided. To use this new algorithm, you will need to use pip install cudaq-solvers[gqe] in order to install all the proper dependencies. For the QEC library, a new Tensor Network Decoder is added, and a new API allows users to automatically generate PCMs from noisy CUDA-Q memory circuits. To use this new decoder, you will need to a) use Python >= 3.11, and b) use pip install cudaq-qec[tensor_network_decoder] in order to install all the proper dependencies. Additionally, support for Python 3.13 is added in this release. Many more features are listed below!

Please check out the docs and examples for how to get started using the CUDA-QX libraries!

Note: CUDA-QX 0.4.0 depends on CUDA-Q 0.12.0.

Features and Enhancements (Solvers) 🎉

Features and Enhancements (QEC) 🎉

Breaking Changes (QEC) 🛠

Bug Fixes (QEC) 🐛

  • Add fine grained noise injection in a custom qec code by @kvmto in #227

nv-qldpc-decoder Updates (Closed Source)

  • Added multiple algorithm configuration updates, including iter_per_check, clip_value, bp_method (now supporting both sum-product and min-sum), scale_factor, and an optional output result logging capability for bp_llr_history.

Documentation ✏️

Common / Misc

Testing

  • Workflow updates (incl creating all_libs_release.yaml) by @bmhowe23 in #159
  • [test] Skip nv-qldpc-decoder test if no GPUs found by @bmhowe23 in #238
  • Add python3.13 to validate_wheels.sh by @melody-ren in #237

New Contributors

Full Changelog: 0.3.0...0.4.0

0.3.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 14 May 14:28
99d542d

The CUDA-QX 0.3.0 release includes updates for CUDA-Q breaking changes (spin ops) and notable performance improvements to our nv-qldpc-decoder. Some of these improvements reduce our average OSD-0 processing by >6X, so try it out!

For details on the breaking changes, see the descriptions in in PRs below along with the associated CUDA-Q PRs:

Please check out the docs and examples for how to get started using the CUDA-QX libraries!

What's Changed (Solvers)

  • UCCSD operator pool correction and integration in adapt simulator by @kvmto in #65
  • Update libraries for cudaq::spin_op breaking changes by @bmhowe23 in #134
  • Update libraries for Python spin op breaking changes by @bmhowe23 in #152
  • Add __version__ info to packages by @bmhowe23 in #154

What's Changed (QEC)

  • Update libraries for cudaq::spin_op breaking changes by @bmhowe23 in #134
  • Update libraries for Python spin op breaking changes by @bmhowe23 in #152
  • Correcting syndromes per shot in circuit-level example by @justinlietz in #136
  • Add __version__ info to packages by @bmhowe23 in #154

nv-qldpc-decoder Updates (Closed Source)

  • OSD solver ARM performance improvements by @melody-ren
  • Add Gaussian elimination to OSD with early exit @melody-ren
  • Fix numerical stability bug with BP by @bmhowe23

Documentation

  • Update install guide to clarify usage with no GPUs available by @bmhowe23 in #143

Testing

  • Add testcases for libs/core to improve the code coverage rate by @caiyunh in #153

New Contributors

Note: CUDA-QX 0.3.0 depends on CUDA-Q 0.11.0.

Full Changelog: 0.2.1...0.3.0

0.2.1

Choose a tag to compare

@bmhowe23 bmhowe23 released this 21 Apr 16:54
d17564b

What's Changed

This a is a minor patch release to fix 1 important bug and add 1 important set of error checks. Both of these changes are related the QEC decoders.

  • Fix bug in nv-qldpc-decoder where exhaustive search OSD was not searching over the correct candidate bitstrings.
  • Add error checking before constructing internal structures from Python data by @bmhowe23 #141

Note: CUDA-QX 0.2.1 depends on CUDA-Q 0.10.0 (same as CUDA-QX 0.2.0).

Full Changelog: 0.2.0...0.2.1

0.2.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 17 Mar 15:36
8a599e6

This release of the CUDA-QX libraries adds support for arm64 / aarch64 platforms for both the QEC and Solvers libraries.

CUDA-QX is a collection of libraries that build upon the CUDA-Q programming model to enable the rapid development of hybrid quantum-classical application code leveraging state-of-the-art CPUs, GPUs, and QPUs. It provides a collection of C++ libraries and Python packages that enable research, development, and application creation for use cases in quantum error correction and hybrid quantum-classical solvers.

Please check out the docs and examples for how to get started using the CUDA-QX libraries!

Note: CUDA-QX 0.2.0 depends on CUDA-Q 0.10.0.

What's Changed for QEC

This release includes a new high-performance GPU-accelerated QLDPC decoder implementation based on the algorithms described in Decoding Across the Quantum LDPC Code Landscape. This new decoder requires an NVIDIA GPU. Additionally, this release includes performance improvements in the sample_memory_circuit by utilizing CUDA-Q's new "explicit measurements" feature to accelerate collection of noisy syndrome data when using the stim target.

Features and Enhancements 🎉

Bug Fixes 🐛

  • Fix undefined behavior in cudaq::qec::to_parity_matrix by @bmhowe23 in #87

Breaking Changes 🛠

Documentation Updates ✏️

Other Changes

What's Changed for Solvers

In addition to arm64 / aarch64 support, this release includes a support for the Bravyi-Kitaev transformation.

Features and Enhancements 🎉

  • Add a get_operator_pool function in C++ to mirror the Python by @amccaskey in #13
  • Add an option to set the tolerance for jordan_wigner by @melody-ren in #23
  • Bravyi-Kitaev implementation by @wsttiger in #35
  • Support vector types for kwargs by @bmhowe23 in #99

Bug Fixes 🐛

  • Fix signed int overflow in uccsd by @annagrin in #64
  • Refactoring and debugging of Jordan Wigner transform (Issue #67) by @kvmto in #82

Breaking Changes 🛠

Documentation Updates ✏️

  • Update docs to clarify Python wheels installation requirements by @bmhowe23 in #34
  • Update API documentation by @melody-ren in #71

Other Changes

New Contributors

Full Changelog: 0.1.0...0.2.0

0.1.0

Choose a tag to compare

@bmhowe23 bmhowe23 released this 10 Dec 02:50
044539b

This is the initial release of the CUDA-QX libraries! CUDA-QX is a collection of libraries that build upon the CUDA-Q programming model to enable the rapid development of hybrid quantum-classical application code leveraging state-of-the-art CPUs, GPUs, and QPUs. It provides a collection of C++ libraries and Python packages that enable research, development, and application creation for use cases in quantum error correction and hybrid quantum-classical solvers. Please check out the docs and examples for how to get started using the CUDA-QX libraries!

Note: CUDA-QX 0.1.0 depends on CUDA-Q 0.9.0.