Skip to content

Releases: DennisWayo/lidmas_cpp

v1.2.0 — Stable Release

17 Mar 11:06

Choose a tag to compare

v1.2.0 is the first stable release of the new hardware integration flow.

  • Moved hardware integration to top-level: hardware_integration/xanadu/
  • Added one-command real-data workflow: xandau_hardware_data.sh
  • Supports Xanadu dataset conversion (Aurora, QCA, GKP, legacy job JSON) to decoder_io NDJSON
  • Keeps outputs centralized in examples/results/hardware_integration/
  • Includes replay workflow and updated documentation across README and docs

v1.2.0-rc.2 – Streaming Xanadu Data Integration RC2

17 Mar 09:55

Choose a tag to compare

This release candidate focuses on Xanadu hardware-data integration and large-dataset conversion reliability.

Highlights

  • Added multi-format Xanadu data conversion into decoder_io NDJSON:
    • legacy job JSON (output/samples)
    • Aurora decoder-demo switch-setting batches
    • QCA/Borealis shot matrices (.json, .npy, .npz)
    • count-compressed outcome tables (GKP-style exports)
  • Added C++ replay workflow integration for converted NDJSON requests.
  • Added streaming/chunked conversion controls for heavy datasets:
    • --stream
    • --shot-start
    • --max-shots
    • --append-out
    • --progress-every
  • Added runnable fixtures/scripts for Aurora/QCA/GKP conversion and replay validation.

Included Changes Since v1.1.4

  • feat(hardware): add decoder_io NDJSON replay CLI and Xanadu integration example (431b0c9)
  • feat(hardware): add streaming Xanadu dataset integration (a544e2b)

Comparison:
https://github.com/DennisWayo/lidmas_cpp/compare/v1.1.4...v1.2.0-rc.2

Validation Performed

  • Python compile check:
    • python3 -m py_compile examples/hardware_integration/convert_xanadu_job_to_decoder_io.py
  • Fixture conversions:
    • bash examples/hardware_integration/run.sh
    • bash examples/hardware_integration/run_public_datasets.sh
  • Replay checks:
    • bash examples/hardware_integration/replay.sh examples/results/hardware_integration/decoder_requests_aurora.ndjson
    • bash examples/hardware_integration/replay.sh examples/results/hardware_integration/decoder_requests_qca.ndjson
    • bash examples/hardware_integration/replay.sh examples/results/hardware_integration/decoder_requests_gkp.ndjson
  • Result: replay completed with errors=0 on fixture datasets.

Notes

  • .npy/.npz conversion paths require NumPy (pip install numpy).
  • This is an RC intended for real-data validation at scale before final v1.2.0.
  • No breaking changes are expected for existing workflows.

Upgrade / Usage

  • Use this RC tag for validation runs:
    • git checkout v1.2.0-rc.2
  • For large QCA/Aurora inputs, prefer streaming/chunking:
    • --stream --shot-start <N> --max-shots <K> [--append-out]

v1.1.0 — Native GKP Pipeline + CUDA Sampling

10 Mar 08:53

Choose a tag to compare

  • Native GKP mode with digitizer, gate/idle/meas errors, and loss map support.
  • CUDA-accelerated Pauli surface_threshold sampling (CPU decoders unchanged).
  • GPU self‑test and CPU vs GPU benchmark presets.
  • Paper workflows split into paper_01 (frozen) and paper_02 (current).
  • Surface demo improvements and extended CLI controls

v1.0.0 – Hybrid CV + Discrete QEC + Example Suite

21 Feb 10:17

Choose a tag to compare

Major Features

  • Hybrid Continuous-Variable (Gaussian σ-noise) and Discrete Pauli noise support
  • Surface-code threshold estimation
  • Finite-size scaling collapse fitting
  • Neural-assisted MWPM decoder integration
  • Deterministic reproducibility with fixed seed
  • Examples

v0.9 — Stable scaling & threshold extraction release

21 Feb 05:19

Choose a tag to compare

This release marks the first stable implementation of surface-code scaling and logical error rate (LER) threshold extraction using MWPM decoding.

Highlights

  • Deterministic surface-code simulations for distances d = 3, 5, 7
  • Stable logical error rate (LER) estimation with confidence intervals
  • Reproducible results via fixed RNG seeds
  • Batched trial execution with live progress logging
  • Non-monotonic LER detection warning (finite-trial variance)
  • Automatic CSV export for threshold analysis

Verified Capabilities

  • Reliable large-scale runs (≥2000 trials)
  • Consistent cross-run reproducibility
  • No hang at higher distances (d=7 stress-tested)

This release establishes a stable foundation for upcoming hybrid CV + discrete QEC development in v1.0.

v0.8: Full syndrome graph MWPM

20 Feb 15:30

Choose a tag to compare

  • Build complete defect + boundary graph
  • Add all-pairs defect edges
  • Add defect-to-boundary edges
  • Route corrections along lattice shortest paths
  • Ensure syndrome reproduction correctness
  • Integrate with shared weight interface (uniform|neural|llr)
  • Add smoke tests for boundary and pair cases
  • Preserve threshold runner and metadata logging

This release upgrades MWPM to a full syndrome graph implementation
suitable for research-grade surface code threshold studies."

v0.7.1 – LLR Physical Weight Formalism

20 Feb 14:47

Choose a tag to compare

Highlights

  • Physically grounded LLR weight formalism
  • Shared weight interface (uniform | neural | llr)
  • Separate noise channel support (data / meas / idle)
  • Weighted Union-Find support
  • Metadata-rich threshold CSV logging
  • OpenMP-parallel threshold runner

Scientific Impact

This release introduces a physically motivated log-likelihood ratio
weight model for surface-code decoding, enabling realistic modeling
of heterogeneous noise channels and improved reproducibility.

Compatibility

Backward compatible with v0.7.0 CLI interface.

v0.7 – Thread-Safe Union-Find Parity + Neural-Guided Weight Interface

20 Feb 09:52

Choose a tag to compare

This release introduces a major architectural upgrade to the Surface Code decoding framework.

New Features

  • Thread-safe Union-Find decoder
  • Eliminated shared mutable state
  • Stable under OpenMP multi-threading
  • Reentrant decode() implementation
  • WeightField abstraction layer
  • Pluggable edge-weight interface
  • Uniform (baseline) weight mode
  • Neural-guided weight mode (deterministic mock implementation)
  • CLI support
  • --weight_mode=uniform
  • --weight_mode=neural

Architectural Impact

This release establishes a shared weight-field interface that will support:

  • Neural-guided MWPM (v0.8)
  • Log-likelihood reweighting
  • Hybrid CV + discrete QEC roadmap

Stability

  • Verified under --threads=8
  • No decoder_fail_rate
  • Regression-tested against v0.6
  • Stable up to 5000 trials

v0.6 — Surface MWPM Decoder + Parallel Threshold Engine

20 Feb 08:16

Choose a tag to compare

LiDMaS+ v0.6

This release introduces a stabilized Surface Code MWPM decoder together with a fully parallelized threshold estimation engine.

Core Additions

  • OpenMP-enabled Monte Carlo threshold trials
  • Thread-safe surface code simulation harness
  • Wilson confidence intervals for logical error rate
  • Automatic threshold estimation via curve crossing detection
  • Preliminary finite-size scaling fit extraction (p_c and ν)
  • Decoder failure detection and diagnostic dump system

Stability Improvements

  • Fixed OpenMP race conditions in MWPM integration
  • Thread-safe random seeding per trial
  • Graceful decoder failure handling (no global abort)
  • Optional failure diagnostics (surface_decoder_failure_dump.txt)

Threshold Harness Features

  • Parallel execution via --threads
  • Automatic crossing estimation via --estimate_threshold
  • Scaling-fit extraction via --scaling_fit
  • CSV export of all surface threshold data

Example Usage

./lidmas --surface_threshold \
  --decoder=mwpm \
  --threads=8 \
  --trials=5000 \
  --estimate_threshold \
  --scaling_fit

v0.2 – Validated LDPC Belief Propagation Engine

19 Feb 05:35

Choose a tag to compare

Research-grade C++ implementation of LDPC belief propagation (sum-product and normalized min-sum) with validated monotonic FER waterfall behavior.

Features:

  • PEG-generated (n=1000, m=500) regular LDPC codes
  • Sum-product and normalized min-sum decoding
  • Monotonic FER waterfall validation
  • Sanity checks at p=0 and p=0.001
  • Diagnostics: parity satisfaction rate, max-iteration hit rate
  • OpenMP parallel Monte Carlo sweeps
  • Reproducible CMake build

Validated FER curve:
p=0.06 → FER=0.01
p=0.07 → FER=0.115
p=0.08 → FER=0.355
p=0.09 → FER=0.755
p=0.10 → FER=0.965

Build:

mkdir build
cd build
cmake ..
make
./lidmas --bp=sum-product

Reproducibility Metadata
Tested on:

- macOS (Apple Silicon, Clang + Homebrew OpenMP)
- Expected to build on Linux (GCC/Clang) with OpenMP
- CMake >= 3.16
- C++17 standard
- OpenMP enabled for parallel Monte Carlo