Skip to content

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

Full Changelog: 0.5.0...0.6.0