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

[WIP] Perform BarrierBeforeFinalMeasurements analysis in parallel #13411

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Nov 8, 2024

  1. Use OnceLock instead of OnceCell

    OnceLock is a thread-safe version of OnceCell that enables us to use
    PackedInstruction from a threaded environment. There is some overhead
    associated with this, primarily in memory as the OnceLock is a larger
    type than a OnceCell. But the tradeoff is worth it to start leverage
    multithreading for circuits.
    
    Fixes Qiskit#13219
    mtreinish committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    610cf94 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3b23949 View commit details
    Browse the repository at this point in the history
  3. Update twirling too

    mtreinish committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    33ef7eb View commit details
    Browse the repository at this point in the history
  4. Perform BarrierBeforeFinalMeasurements analysis in paralle

    With Qiskit#13410 removing the non-threadsafe structure from our circuit
    representation we're now able to read and iterate over a DAGCircuit from
    multiple threads. This commit is the first small piece doing this, it
    moves the analysis portion of the BarrierBeforeFinalMeasurements pass to
    execure in parallel. The pass checks every node to ensure all it's
    decendents are either a measure or a barrier before reaching the end of
    the circuit. This commit iterates over all the nodes and does the check
    in parallel.
    mtreinish committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    6481eab View commit details
    Browse the repository at this point in the history