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

Additional analysis metrics #340

Closed
BatmanAoD opened this issue Feb 9, 2024 · 2 comments
Closed

Additional analysis metrics #340

BatmanAoD opened this issue Feb 9, 2024 · 2 comments

Comments

@BatmanAoD
Copy link
Contributor

BatmanAoD commented Feb 9, 2024

Follow-on to #334. From Kalan (source):

The following metrics make sense for their respective targets:

Program via ControlFlowGraph

  • width
  • uses_dynamic_control_flow: walk the blocks and look at their terminators. if any conditional jumps, then true, else false
  • when no dynamic control flow: then the BasicBlock metrics make sense, because they can be folded into a single value because the execution flow is known.

BasicBlock

  • width
  • swap_count
  • gate_volume
  • qubits_used -> I don't think this needs to be cached, that adds complexity and unclear value. Caching on Program was key because of how and when it was called; I'd expect this to be called exactly once in the lifetime of ProgramStats

ExecutionGraph wrapping BasicBlock

I might rename this to something more specific like QubitGraph

  • depth
  • fidelity_estimate

ScheduledBasicBlock

  • duration -> end time of flattened pulse program (TBD in a different, hefty PR)
@kalzoo
Copy link
Contributor

kalzoo commented Feb 10, 2024

output qubit index relabeling due to SWAP insertion

this one is only relevant within the scope of quilc (which performs rewriting) and doesn't make sense to implement on a program itself (which doesn't). I removed the comment about it.

@BatmanAoD
Copy link
Contributor Author

Never mind, #334 is sufficient.

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

No branches or pull requests

2 participants