Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand unitary synthesis plugin interface to support synthesizing batches of unitary matrices #12006

Open
Tracked by #8774
mtreinish opened this issue Mar 13, 2024 · 0 comments

Comments

@mtreinish
Copy link
Member

mtreinish commented Mar 13, 2024

Right now the unitary synthesis plugins has a single run method that is passed a unitary matrix and it returns a DAGCircuit for that unitary; it's one object in one object out. We should add a new optional mode of operation for plugins that works with a list of unitary matrices and it returns a list of dagcircuits. Having this interface will enable plugins to operate in parallel or also leverage asynchronous processing more efficiently.

The easiest way to do this is maybe add a new optional supports_batch_mode flag to the abstract class which defaults to False (for backwards compatibility). If this flag returns True than the UnitarySynthesis pass will send all the unitary matrices from the circuit in a single list instead of iterating over them and sending one at a time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant