BP-OSD decode
Example directory:
examples/bp_osd_decode
This is the composed hardware decode flow: min-sum BP front-end followed by
OSD. The BP-to-OSD handoff stays in hardware, so the repository workflow remains
Python build -> SV run -> Python read.
Commands
./.venv/bin/python examples/bp_osd_decode/build.py
./.venv/bin/python examples/bp_osd_decode/run.py
./.venv/bin/python examples/bp_osd_decode/read.py
Inputs
The default case source is Stim-backed. build.py generates:
Hsigmalogicalsactual_observablesprior_llrmax_iter
The BP stage runs for the configured fixed iteration count, and the resulting posterior-derived reliabilities are forwarded to OSD entirely in SV.
Outputs
Generated under cases/<case_id>/ with cases/latest pointing at the active case:
BP graph and preload files under
problem/BP outputs under
out/OSD outputs under
out/cycle counts for the composed run
Final checks
read.py reports both stages:
BP posterior and hard-decision agreement
BP residual weight
OSD selected-column and reduced-system agreement
H @ F == sigmalogicals @ F == actual_observables