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

Improve efficiency of checking measurement sampling conditions #730

Merged

Conversation

chriseclectic
Copy link
Member

@chriseclectic chriseclectic commented May 1, 2020

Summary

Improves how measurement sampling of circuits is checked to prevent circuit instructions being iterated over multiple times unnecessarily.

Details and comments

  • Now the basic measurement sampling check of all measure instructions intail is done during construction of Circuit objects.
  • Specific tests checking for instructions that prevent sampling is now checked using the circuit OpSet.

@chriseclectic chriseclectic requested a review from atilag as a code owner May 1, 2020 17:05
@chriseclectic chriseclectic changed the title Use opset in check_measure_opt [WIP] Improve efficiency of checking measurement sampling conditions May 6, 2020
@chriseclectic chriseclectic force-pushed the fix/check-measure-sampling-opt branch from a2e6abc to 7c30fb6 Compare May 7, 2020 15:53
@chriseclectic chriseclectic changed the title [WIP] Improve efficiency of checking measurement sampling conditions Improve efficiency of checking measurement sampling conditions May 7, 2020
@chriseclectic chriseclectic force-pushed the fix/check-measure-sampling-opt branch from c8695cf to 415f97a Compare May 7, 2020 15:59
This removes any iteration over circuit ops from the check function. The check now uses sampling_opt information stored in circuit allong with the circuit opset to check for specific instructions that can prevent sampling for a given method
Avoid doing a lots of string comparisons when running fusion pass
@chriseclectic chriseclectic force-pushed the fix/check-measure-sampling-opt branch from a292e00 to 78cd189 Compare May 7, 2020 21:37
@chriseclectic chriseclectic added this to the Aer 0.6 milestone May 7, 2020
vvilpas
vvilpas previously approved these changes May 11, 2020
Copy link
Contributor

@vvilpas vvilpas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. A few comments on format/style.

src/framework/circuit.hpp Outdated Show resolved Hide resolved
src/transpile/basic_opts.hpp Outdated Show resolved Hide resolved
src/controllers/qasm_controller.hpp Outdated Show resolved Hide resolved
@chriseclectic chriseclectic merged commit f8ce3a2 into Qiskit:master May 13, 2020
@chriseclectic chriseclectic added the Changelog: New Feature Include in the Added section of the changelog label Aug 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: New Feature Include in the Added section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants