Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reduce number of decomposers used during UnitarySynthesis default plu…
…gin (Qiskit#12151) * Reduce number of decomposers used during UnitarySynthesis default plugin This commit reduces the number of decomposers we run in the default synthesis plugin when we're in known targets. Previously the unitary synthesis plugin was trying to product of all 1q basis and 2q basis for every 2q pair that is being synthesized. This would result in duplicated work for several 1q bases where there were potential subsets available as two different target euler bases, mainly U321 and U3 or ZSX and ZSXX if the basis gates for a qubit where U3, U2, U1 or Rz, SX, and X respectively. This reuses the logic from Optimize1qGatesDecomposition to make the euler basis selection which does the deduplication. Similarly, in the presence of known 2q gates we can skip the XXDecomposer checks (or potentially running the XXDecomposer) which should speed up both the selection of decomposers and also reduce the number of decomposers we run. * Update qiskit/transpiler/passes/synthesis/unitary_synthesis.py --------- Co-authored-by: John Lapeyre <[email protected]>
- Loading branch information