• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 15311343511
88%

Build:
DEFAULT BRANCH: main
Ran 28 May 2025 10:29PM UTC
Jobs 1
Files 815
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 May 2025 09:28PM UTC coverage: 87.866% (+0.07%) from 87.801%
15311343511

push

github

web-flow
Improve Sabre heuristic defaults (#14458)

* Improve Sabre heuristic defaults

This commit removes the scaling of the basic heuristic of Sabre
inversely proportional to the front-layer population in all of
Qiskit's defaults.

Previously, the "basic" heuristic of Sabre had a scaling factor applied
to it such that the _total_ contribution of the front layer to the
full score of a swap remained approximately the same magnitude (scaled
by the sums of the distances), no matter how many gates were in the
layer.  However, since the implementation of relative scoring[^1], we
realise that only the score delta caused by a swap matters.  A swap can
affect at most two gates in the front layer, so scaling down the impact
of this based on the population of the front layer only has the effect
of allowing other heuristics to entirely dominate the "basic" component,
when really the basic heuristic is the most critical for forwards
progress in the algorithm.

In the worst-case scenario of a front-layer populated with more than 40
gates, the extended set with a fixed size of 20 gates, a relative weight
of 0.5 and similar population-based scaling would entirely override the
front-layer heuristic, which would only be used as a tie-break.  For
such circuits, this caused the release-valve mechanism to trigger on
almost every gate in the worst cases, completely destroying the
performance and quality of the lookahead methods.  This was observed in
currently unrealistic circuits like a 1081-width, 10-depth volume
circuit, and 400+ qubit QFTs, but is likely to have had some effect at
smaller circuits.

[^1]: 02a193919c: Calculate relative, not absolute, scores in SabreSwap

* Restore test coverage and comments

* Change release note category

79559 of 90546 relevant lines covered (87.87%)

364482.14 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
3
92.73
0.5% crates/qasm2/src/lex.rs
Jobs
ID Job ID Ran Files Coverage
1 15311343511.1 28 May 2025 10:28PM UTC 815
87.87
GitHub Action Run
Source Files on build 15311343511
  • Tree
  • List 815
  • Changed 7
  • Source Changed 2
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15311343511
  • 732e2f7e on github
  • Prev Build on gh-readonly-queue/main/pr-14484-2c7d3305fa8e710bbb2124c7e58c017fac53da7b (#15310720135)
  • Next Build on main (#15312066836)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc