Skip to content

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

Merged
itoko merged 3 commits into
qiskit-community:feature/rb_speedupfrom
itoko:readd-directed-basis-support-v2
Nov 24, 2022
Merged

Readd support for backends with directed basis gates to RB experiments#960
itoko merged 3 commits into
qiskit-community:feature/rb_speedupfrom
itoko:readd-directed-basis-support-v2

Conversation

@itoko
Copy link
Copy Markdown
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
Copy Markdown
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