Skip to content

Expose error model sparsification to python module, update sinter decoders dict#257

Draft
noajshu wants to merge 2 commits into
mainfrom
sparsify-errors-python
Draft

Expose error model sparsification to python module, update sinter decoders dict#257
noajshu wants to merge 2 commits into
mainfrom
sparsify-errors-python

Conversation

@noajshu
Copy link
Copy Markdown
Contributor

@noajshu noajshu commented May 27, 2026

Exposes the per-shot error model sparsification functionality (added in #254) to the Python module and Sinter compatibility layer.

Changes:

  • Moved the sparsify reactivate limit (M) heuristic calculation from the CLI to TesseractConfig::get_sparsify_reactivate_limit() in C++ core.
  • Added validation for sparsification parameters in decoder initialization.
  • Simplified CLI sparsification parameter resolution.
  • Bound sparsification parameters (sparsify_errors, sparsify_base_degree, sparsify_max_degree, sparsify_reactivate_limit) and the heuristic resolution method in TesseractConfig Python bindings.
  • Extended TesseractSinterDecoder to support sparsification config, maintaining pickling/serialization compatibility for distributed Sinter runs.
  • Registered new sparsified decoders in Sinter decoders dictionary: tesseract-long-beam-sparsify3, tesseract-long-beam-sparsify2, tesseract-short-beam-sparsify3, and tesseract-short-beam-sparsify2.
  • Added comprehensive Python unit tests for core sparsify config, validation, and Sinter end-to-end decoding.
  • Fixed pre-existing CMake build failure under strict compilers by upgrading external HiGHS dependency to v1.14.0.

TAG=agy
CONV=365755ec-6af0-4d9c-a7e2-4a363289b763

noajshu added 2 commits May 26, 2026 21:56
Exposes the per-shot error model sparsification functionality (added in PR 254)
to the Python module and Sinter compatibility layer.

Changes:
- Moved the sparsify reactivate limit (M) heuristic calculation from the CLI
  to `TesseractConfig::get_sparsify_reactivate_limit()` in C++ core.
- Added validation for sparsification parameters in decoder initialization.
- Simplified CLI sparsification parameter resolution.
- Bound sparsification parameters (`sparsify_errors`, `sparsify_base_degree`,
  `sparsify_max_degree`, `sparsify_reactivate_limit`) and the heuristic
  resolution method in `TesseractConfig` Python bindings.
- Extended `TesseractSinterDecoder` to support sparsification config,
  maintaining pickling/serialization compatibility for distributed Sinter runs.
- Registered new sparsified decoders in Sinter decoders dictionary:
  `tesseract-long-beam-sparsify3`, `tesseract-long-beam-sparsify2`,
  `tesseract-short-beam-sparsify3`, and `tesseract-short-beam-sparsify2`.
- Added comprehensive Python unit tests for core sparsify config, validation,
  and Sinter end-to-end decoding.
- Fixed pre-existing CMake build failure under strict compilers by upgrading
  external HiGHS dependency to v1.14.0.

TAG=agy
CONV=365755ec-6af0-4d9c-a7e2-4a363289b763
@noajshu noajshu changed the title feat(python): expose error model sparsification and add sinter decoders Expose error model sparsification to python module, update sinter decoders dict May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant