-
Notifications
You must be signed in to change notification settings - Fork 127
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
Remove RestlessMixin and deprecate restless nodes #1524
Conversation
I marked this as a draft because it depends on #1511. Also, I am not sure if we need to remove this code or not. My thinking was that along with pulse we should pull out other features that are unused to reduce the maintenance burden (more tests to run every time, more things to migrate when Qiskit and Qiskit IBM Runtime change, etc.). But looking at it it is not that much code -- the mixin is mainly one function and then there are a couple data processing nodes. Maybe we could keep it for now. There is also the question of how useful restless measurements are now. I tried out |
After some further testing, I lean again towards following through with removing the restless code. Previously I had found the following results on an eagle system (using
I realized that this was not a fair comparison because enable restless is reducing the rep delay to faster than the default. I tried a new case:
With init_qubits=True, the rep delay can be shorter than the restless case without an error. The results for the different cases are within +/-4e-3 d_theta error. There may be some small bias between the cases but more statistics would be needed. The amplitude of the signal is smaller for the restless case. From this we see that there is no significant reduction in qpu time by using restless over what can be achieved with |
This change removes the previously deprecated `RestlessMixin` class and deprecates the restless processing nodes `RestlessToIQ` and `RestlessToCounts`. The motivation for the removals is to streamline the remaining code base. The restless features are little used and it remains possible to set up experiments to run in restless mode by using a custom data processor even without support in the base package.
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 for simplification of the codebase and some quantitative analysis. I also think these experimental techniques should go to separate repositories, like addons. In this sense, I'm fine with removing the restless module regardless of how it works with IBM devices.
I could go down to 5 us (did not try shorter) without error for init_qubits=True
This result is a bit surprising. Since IBM Quantum doesn't explain qubit reset mechanism, we cannot discuss further. I'm also curious how this configuration works for RBs.
The errors I was seeing for short |
This change removes the previously deprecated
RestlessMixin
class anddeprecates the restless processing nodes
RestlessToIQ
andRestlessToCounts
. The motivation for the removals is to streamline theremaining code base. The restless features are little used and it
remains possible to set up experiments to run in restless mode by using
a custom data processor even without support in the base package.