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

Readd support for backends with directed basis gates to RB experiments #960

Conversation

itoko
Copy link
Contributor

@itoko itoko commented Oct 28, 2022

Summary

This PR fixes a feature regression introduced in #922 by re-adding the support for backends with directed 2-qubit gates to RB experiments.

Details and comments

The feature was accidentally dropped at #922 that replaced the call of transpile(circ, backend) with transpile(circ, basis_gates=basis_gates). For example, 2Q StandardRB does not work for backends that it support cx(0, 1) but not support cx(1, 0).
To reimplement the feature, this commit adds a fallback call of transpile(circ, backend) in the case when the backend does not support any undirected 2-qubit gates on the physical qubits to be benchmarked.

Copy link
Collaborator

@nkanazawa1989 nkanazawa1989 left a comment

Choose a reason for hiding this comment

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

Thanks Itoko-san. I think this is reasonable handling of directed gates with the minimum coding overhead for now. Unfortunately a typical IBM backend provides fake bidirectional gates with Hadamard trick, and this could increase the variance of RB samples because of infidelity of extra Hadamard gates. Eventually we should only consider the native direction gates (rather than fake bidirectional). When only one-way native direction is available, I think we can flip the gate direction but merge Hadamard gates into successor and predecessor single qubit gates.

I think this can be good to go now but we must come back to this at some point.

@itoko itoko merged commit 11392a8 into qiskit-community:feature/rb_speedup Nov 24, 2022
itoko added a commit to itoko/qiskit-experiments that referenced this pull request Nov 29, 2022
qiskit-community#960)

* Add tests for directed basis gates

* Readd support of backends with only directed 2q-basis
itoko added a commit to itoko/qiskit-experiments that referenced this pull request Nov 29, 2022
qiskit-community#960)

* Add tests for directed basis gates

* Readd support of backends with only directed 2q-basis
itoko added a commit that referenced this pull request Dec 23, 2022
Improve the performance of transpiled circuit generation in 1Q/2Q StandardRB/InterleavedRB (about 10x speedup in 1Q SRB/IRB and 5x speedup in 2Q SRB/IRB in most cases).

Including following feature pull-requests:
* New algorithm for RB building Cliffords by layers (#892)
* Improve custom transpilation for faster 1Q/2Q RB (#922)
* Improve integer-based Clifford operations for 1Q/2Q RB (#940)
* Readd support for backends with directed basis gates to RB experiments (#960)

Features other than speedup:
* Fix performance regression in 3 or more qubits RB (embedded at Refactor RB module for future extensions #898)
* Improve validation of interleave_element in InterleavedRB
* Restructure tests for RB module
* Remove the barriers in front of the first Cliffords in RB circuits

Co-authored-by: merav-aharoni <46567124+merav-aharoni@users.noreply.github.com>
Co-authored-by: Naoki Kanazawa <nkanazawa1989@gmail.com>
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

Successfully merging this pull request may close these issues.

3 participants