Skip to content

✨ Add the remaining structured benchmark programs - #2204

Draft
denialhaag wants to merge 2 commits into
benchmarks-dot-jefffrom
more-benchmarks-dot-jeff
Draft

✨ Add the remaining structured benchmark programs#2204
denialhaag wants to merge 2 commits into
benchmarks-dot-jefffrom
more-benchmarks-dot-jeff

Conversation

@denialhaag

Copy link
Copy Markdown
Member

Description

🤖 AI text below 🤖

Builds on #2135 and adds the rest of the structured benchmark suite, seventeen programs: block encoding, Toffoli-heavy circuits, quantum fan-out, the Draper adder for a quantum and for a classical input, controlled multiplication modulo N, Shor, Grover with weak measurement, a VQE ansatz with fixed repetitions, QAOA, VQE, ML-QAE, repeat-until-success, magic state distillation, logical state preparation, syndrome measurement and correction, and measurement-based computation.

The programs follow their published constructions. The modular arithmetic of Shor and of the controlled multiplication follows Beauregard, so both share one implementation of the modular adder and the modular multiplication in BenchmarkUtils. Magic state distillation measures the four stabilizers of the five-qubit code and accepts a round only on a trivial syndrome, after Bravyi and Kitaev.

Three programs do not convert to jeff, and the benchmark record carries a lowersToJeff flag that skips the jeff tests for them. VQE counts an energy from the measured register, and the modular programs derive their addend at run time; both need an arith operation that jeff-mlir has no pattern for. Every other output format still covers them.

That leaves two programs of the suite unimplemented, both marked in the jeff benchmark README as needing further research: X-Ray Absorption Spectroscopy and Quantum Metropolis Sampling.

AI notice

This PR and its contents were created with the assistance of Opus 5 via Claude Code.

Checklist

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

If PR contains AI-assisted content:

  • Any agent that created, edited, or submitted GitHub content was explicitly authorized for that scope, as required by our AI Usage Guidelines.
  • Every agent-authored or agent-edited public text body begins with the visible disclosure 🤖 *AI text below* 🤖 (titles are exempt).
  • I have disclosed AI assistance in the PR description.
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

Assisted-by: Opus 5 via Claude Code
@denialhaag denialhaag self-assigned this Aug 21, 2026
@denialhaag denialhaag added enhancement Improvement of existing feature MLIR Anything related to MLIR labels Aug 21, 2026
@denialhaag denialhaag added this to the MLIR Support milestone Aug 21, 2026
@mergify mergify Bot added the conflict label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflict enhancement Improvement of existing feature MLIR Anything related to MLIR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant