-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Always try initial layout as first guess in preset passmanagers (#5702)
* Always try initial layout as first guess in preset passmanagers In the preset passmanagers level2 and level3 the initial layout is generated by the CSP layout pass and then if an answer can't be found the specified layout method is used instead. However, as was reported in issue #5694 the CSP layout completely misses when the trivial layout case perfectly maps the input circuit to the device. This results in level 1 significantly out performing level2 and level3 because it has to go to routing and inserts a lot of swaps. To address this hole in the CSP layout case this commit updates the preset passmanagers for level 2 and level 3 to always try a trivial layout first, if this doesn't result in a perfect mapping the pass is unchanged it will use CSP layout and then the configured layout method. Fixes #5694 * Tweak flow to not use trivial unless perfect * Fix lint * Add comments and explain flow Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
- Loading branch information
Showing
3 changed files
with
113 additions
and
4 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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