qldpc_decoder_cpp: C++/HLS qLDPC decoder research scaffold
Description
C++/HLS research scaffold for a qLDPC decoder: a minimal C++20 program that links Joschka Roffe's ldpc library through CMake FetchContent (OpenMP enabled), a Catch2 unit-test target, and a GF(2) sparse matrix-vector micro-benchmark used as a CI regression gate, plus Vitis HLS / Vivado / PetaLinux scripts targeting the AMD ZCU111 board.
Evidence tags. Software build, Catch2 tests, smoke test: run in CI (GitHub-hosted). GF(2) sparse mat-vec micro-benchmark, ~70 ns median: REPORTED; host/conditions unspecified (a single micro-operation on a synthetic 32×64 matrix; not qLDPC decoding latency, not an FPGA or end-to-end figure). HLS kernel: scaffold (no belief-propagation message updates yet). HLS synthesis, 300/400 MHz timing: TARGET / UNRUN. HIL benchmark on ZCU111, FER: UNRUN.
Known limitation. verify_correction() always returns true, so any HIL run would report FER = 0 by construction; it must be replaced with a code-aware check before any FER figure is published.
Scope and limits. Research scaffold. Not a complete qLDPC decoder on hardware; not a quantum-hardware result (no qubits, QPU, or cryostat were used; N_QUBITS = 144 is a code-length parameter); not a measured decoding latency; not hardware-ready or production software. It is independent of the OES-32 residual contract (ADR-001). Please also cite the upstream ldpc library.
Evidence tags follow sparkainlp-x/.github (SYNTHETIC / REPORTED / TARGET / UNRUN).
Notes
Files
sparkainlp-x/qldpc_decoder_cpp-v0.1.1.zip
Additional details
Related works
- Is supplement to
- Software: https://github.com/sparkainlp-x/qldpc_decoder_cpp/tree/v0.1.1 (URL)
- Software: https://github.com/sparkainlp-x/qldpc_decoder_cpp (URL)
- Requires
- Software: https://github.com/quantumgizmos/ldpc (URL)
Software
- Repository URL
- https://github.com/sparkainlp-x/qldpc_decoder_cpp
References
- Roffe, Joschka. ldpc (software). https://github.com/quantumgizmos/ldpc