0.5.0
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) 🎉
- Generalize
single_error_luttomulti_error_lutby @bmhowe23 in #281 - Create sliding window decoder by @bmhowe23 in #198
- Add TensorRT decoder by @wsttiger in #307
- Real-time decoding support by @bmhowe23 in #333
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-decoderto support RelayBP by adding new options into the existing framework - Update the
nv-qldpc-decoderto support aproc_floatoption to select fp32 processing (instead of fp64 default)
Features and Enhancements (Solvers) 🎉
Bug Fixes (Solvers) 🐛
Documentation ✏️
- Add workaround for Blackwell by @melody-ren in #247
- Doc: update the supported gpu and python versions by @caiyunh in #251
- Add API doc update for BP by @melody-ren in #243
- Update gqe example for mpi by @melody-ren in #245
- Add instructions for installing dependencies of optional python components by @melody-ren in #274
- Fix rendering of doc by @melody-ren in #276
- Updating qec docs by @sacpis in #283
- Add CMake options description in Building.md by @melody-ren in #285
- Fix invalid reference to cudaqx-config on QEC Introduction docs page by @bmhowe23 in #287
- Improve capitalization and add developer information of PRIMA by @zaikunzhang in #290
- Add libgfortran to NOTICE file by @bmhowe23 in #292
- Fix missing docstring for solvers lib by @melody-ren in #297
- Added python test procedure by @cketcham2333 in #322
Common / Misc
- Incorporate validation script updates from releases/v0.4.0 branch by @bmhowe23 in #253
- Delay target specification until execution by @bmhowe23 in #244
- Add patch_wheel_metadata.sh script by @bmhowe23 in #275
- Add prune_cudaqx-dev_by_sha.sh helper script by @bmhowe23 in #280
- Update devdeps image to Ubuntu 24.04 by @bmhowe23 in #302
- Fix dev images (CUDA 12.6 instead of 12.0) by @bmhowe23 in #306
- Remove Python 3.10 and update test images by @bmhowe23 in #305
- [ci] Use Python 3.12 for yapf by @bmhowe23 in #310
- Advance from python3.10 to 3.11+ by @melody-ren in #312
- Prepare for CUDA 13 by @mitchdz in #308
- bump cuquantum 25.06 -> 25.09, bump cudaq commit by @mitchdz in #318
- Add CUDA 13 support and add metapackages by @bmhowe23 in #320
- Fix address sanitizer issue by @bmhowe23 in #323
- Fixed double free error by @cketcham2333 in #327
- Misc fixes for various build/test environments by @bmhowe23 in #331
- Fix TRT Decoder CMake for unsupported platforms by @bmhowe23 in #332
- Removed num_syndromes_per_round by @cketcham2333 in #338
- Cleanup the extra payload provider support by @bmhowe23 in #342
- Script and config updates in preparation for 0.5.0 by @bmhowe23 in #341
- Torch/TensorRT wheel compatibility updates by @bmhowe23 in #350
- Don't throw error if optional TRT dependencies are not installed by @bmhowe23 in #352
- Bump cuQuantum 25.09 -> 25.09.1 by @bmhowe23 in #351
Testing
- Add tests for qec lib by @caiyunh in #226
- Test python examples in build_wheels job by @melody-ren in #256
- Use 'tensor-network-decoder' in pip install instructions by @melody-ren in #263
- Change v100 runners to a100 by @bmhowe23 in #266
- Update Tensor Network Decoder docs to address cuTensor 2.3 by @bmhowe23 in #268
- Follow-up to #268 - fix link rendering by @bmhowe23 in #269
- [docs] Update Building from Source section by @bmhowe23 in #270
- Bug 5652917: update scripts for the failed test gqe_h2.py by @caiyunh in #353
New Contributors
- @sacpis made their first contribution in #283
- @zaikunzhang made their first contribution in #290
- @cketcham2333 made their first contribution in #322
- @marwafar made their first contribution in #309
Full Changelog: 0.4.0...0.5.0