Qiskit / qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
https://www.ibm.com/quantum/qiskit
Apache License 2.0
5.11k stars 2.34k forks source link

[WIP] Add CriticalHeuristic to SABRE routing heuristics #13016

Open henryzou50 opened 1 month ago

henryzou50 commented 1 month ago

Summary

This pull request introduces a new heuristic, CriticalHeuristic, to the SabreSwap pass in Qiskit. The CriticalHeuristic prioritizes routing decisions based on the criticality of quantum operations, as determined by the number of descendant gates in the circuit's Directed Acyclic Graph (DAG). This enhancement provides users with additional control over the routing process, allowing them to optimize circuits by focusing on critical paths, potentially reducing overall circuit depth and/or swap count.

Details and Comments

Key Changes:

Future Considerations:

Notes

qiskit-bot commented 1 month ago

One or more of the following people are relevant to this code:

coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 10512011589

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/accelerate/src/sabre/route.rs 61 63 96.83%
crates/accelerate/src/sabre/heuristic.rs 8 29 27.59%
<!-- Total: 71 94 75.53% -->
Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 7 91.73%
crates/qasm2/src/parse.rs 18 96.69%
<!-- Total: 25 -->
Totals Coverage Status
Change from base Build 10506699788: -0.03%
Covered Lines: 67855
Relevant Lines: 75755

💛 - Coveralls