Skip to content

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

@mtreinish

Description

@mtreinish

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions