Repository navigation
⚡ Reduce release pipeline verification overhead - #2698
Merged
Merged
Conversation
10 tasks done
simon1hofmann
added this pull request to stack #2692
October 7, 2026 08:03
simon1hofmann
force-pushed
the
codex/release-boundary-verification
branch
from
October 7, 2026 11:43
12b797d to
43c27eb
Compare
simon1hofmann
marked this pull request as ready for review
October 7, 2026 11:43
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Member
|
Moving on to this one now. |
burgholzer
force-pushed
the
codex/release-boundary-verification
branch
from
October 8, 2026 08:55
43c27eb to
2cf5d43
Compare
7 of 10 tasks
🤖 *AI text below* 🤖 Run Core-owned pipelines on valid input and verify the final module. Disable intermediate verification in NDEBUG builds while retaining it when assertions are enabled to locate compiler defects. Cover invalid final output and the assertion-dependent intermediate verification policy with one test and a reusable test pass. Assisted-by: Codex
burgholzer
force-pushed
the
codex/release-boundary-verification
branch
from
October 8, 2026 20:27
2cf5d43 to
ea8a87f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Description
Reduce repeated verification in pipelines created by
runWithPassManager. WithNDEBUG, disable per-pass verification and verify the complete output module after the pipeline succeeds. Assertions-enabled builds retain per-pass verification and the final module check.The helper requires valid input IR. Parsers and program imports validate input; callers that mutate a program's module must preserve its validity. In release builds, invalid intermediate IR can reach a later pass before detection, so assertions-enabled builds remain useful for locating compiler defects.
The change applies to API pipelines using this helper, including target compilation, cleanup, and QIR conversion. The normal
mqt-ccpass-manager path,QCProgram::intoQCO, caller-owned managers, and custom textual pipelines keep their existing verification settings. QCO linearity and target-conformance checks remain in place. No new options or dependencies.Performance
Compare main at
ddee68053bb523ccfe71e01703120df9ed96796bagainst this PR atea8a87f77a810eb836775b5bf3d0e0fd2986cdba. Both include the conversion improvements from #2695 and the assertion-free release SDK configuration from #2678, isolating this PR's verification policy.Times are medians. Reductions use the geometric mean of within-pair candidate/baseline ratios, so they need not equal the ratio of the displayed medians.
bwt_n37/ linear †factor247_n15/ square †cat_n260/ heavy-hexwstate_n380/ squarequgan_n395/ heavy-hex† BWT target compilation and Factor247 ran with recorded background work on a shared host; their percentages are less precise. For the other workloads, whole pairs were repeated when compiler overlap or average external CPU load of at least half a core was observed. This screening does not prove exclusive machine use. Excluded attempts were retained. QuGAN and the single-pass control have paired 95% bootstrap intervals spanning no improvement.
Separate verifier profiling supports the end-to-end results: W-state's accumulated verifier time fell from 27.8 ms to 5.1 ms, and BWT QIR's from 3.77 s to 1.21 s. QuGAN removed only about 0.08 s of verifier work from roughly 6 s of compilation, explaining its neutral result. The one-pass control has no intermediate verification to remove. Profiling used separate binaries; accumulated verifier durations can include concurrent calls and are not necessarily additive wall-time shares.
Measurement setup
b695f30e83a32bac05b9b4d8e98d37ba9aae5236. Targets: a 37-site line, 4×4 and 20×20 grids, and heavy-hex graphs of distance 11 and 13. Basis:id,sx,x,rz,cz,measure,reset.intoQIR(Adaptive), including preparation, conversion, and cleanup.Validation
NDEBUGfail the test.git diff --checkpass. Hosted checks for the updated commit remain pending.Codex assisted with implementation, review, tests, benchmarks, and this description.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).