-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Create a new implementation of parallel XEB and its methods #6940
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6940 +/- ##
=======================================
Coverage 97.86% 97.86%
=======================================
Files 1084 1084
Lines 94408 94447 +39
=======================================
+ Hits 92393 92432 +39
Misses 2015 2015 ☔ View full report in Codecov by Sentry. |
@@ -403,6 +403,7 @@ def parallel_xeb_workflow( | |||
pool: Optional['multiprocessing.pool.Pool'] = None, | |||
batch_size: int = 9, | |||
tags: Sequence[Any] = (), | |||
entangling_circuit_or_op: Optional[Union['cirq.AbstractCircuit', 'cirq.Operation']] = None, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, in order to do parallel XEB, we will want to be able to input something like a set of circuits (that each act on two qubits) or a dictionary from pairs to circuits because, for example, we may have different z-phase corrections on different pairs of qubits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reimplemented parallel XEB to support this use case. ptal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, Nour! I will take a look soon.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried using it and got an error (colab). Also, maybe we can call the folder benchmarking
instead of error_mitigation
.
This is a new implemenation of parallel XEB that doesn't rely on legacy code. This module reimplements almost all of the what is needed to run parallel XEB. The reason for a completly new implementation is that the old implementation (also written by me) relied on old code that don't support the new use case of running XEB on circuits that depenend on the qubit pair and the effort needed to update the old code is more than the effort needed to write a new implementation.