-
Notifications
You must be signed in to change notification settings - Fork 6
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
Update to qibolab 0.2 #990
base: main
Are you sure you want to change the base?
Conversation
Note that testing updated routines on hardware also requires a working platform that complies with the qibolab 0.2 interface. As of now the only available is qiboteam/qibolab_platforms_qrc#153. |
In 4154ea9 I updated the resonator and qubit flux routines. Here are some examples on
As mentioned elsewhere, these routines are making use of some parameters that are no longer in the qibocal platform, such as the crosstalk matrix and bare resonator frequency for the fit of resonator flux and the anharmonicity for the qubit flux of the 02 state. I have temporarily disabled/set dummy values in the related points, however we should probably find a solution on how to deal with these parameters before merging this. |
I have updated most routines that are needed for basic calibration of a chip from scratch (see list in first post). I have tested these on qw11q and they seem to work. If anyone tries to use this and encounters any issues or if some important routine is missing let us know. For TII, it should work with the platforms on qibolab_platforms_qrc main and the latest qibolab main (qw11q should also work with 0.2.0 release). Note that the spin echo routine has been changed to use sweepers, instead of unrolling, since now there is no discrepancy with how delay durations are swept and they should be uniformly supported by all drivers in qibolab 0.2. For the rest of routines I will probably need some help. I will now shift focus on #996 to implement the updates using the method discussed. |
Whenever someone can take a look, please consider merging/rebasing on |
commit 27d5c46a6b5843b97e9e3a46e2a38a578dd47034 Author: Stavros Efthymiou <[email protected]> Date: Tue Oct 1 16:36:56 2024 +0400 build: update pyproject commit 02e2313096ffaef2e0d49007609f3cc98630392a Author: Stavros Efthymiou <[email protected]> Date: Fri Sep 20 14:26:42 2024 +0400 fix: resonator spectroscopy errors commit 56a4a03fca9ab6442c0f29b539ee72271da88924 Author: Stavros Efthymiou <[email protected]> Date: Fri Sep 20 13:43:39 2024 +0400 fix: drop create_sequence commit f70cfa6e97cfc55c6580863600d57e5eb74c5c9c Author: Stavros Efthymiou <[email protected]> Date: Fri Sep 20 13:25:12 2024 +0400 fix: drop ExecutionParameters from Parameters commit dc48c6e99ae19992258578a5893493c54c9e90c0 Author: Stavros Efthymiou <[email protected]> Date: Fri Sep 20 13:22:54 2024 +0400 chore: drop usage of ExecutionParameters commit 188caf54fcb0dae4d8f757a79deda9983b6892c3 Author: Stavros Efthymiou <[email protected]> Date: Wed Sep 18 19:21:26 2024 +0400 fix: fixes for hardware execution commit 140b76500c3b4772612ec965e1116b618ce0e4d6 Author: Stavros Efthymiou <[email protected]> Date: Wed Sep 18 19:16:17 2024 +0400 refactor: use sequence creation helpers in single shot routine commit b3714b9423234d0277204472d88633740035bf82 Author: Stavros Efthymiou <[email protected]> Date: Wed Sep 18 19:02:18 2024 +0400 chore: update for new qibolab public API commit 0b5fb601b5b91da23b58c257ba00f92846e36ee5 Author: Stavros Efthymiou <[email protected]> Date: Wed Sep 18 18:56:52 2024 +0400 chore: move QubitId and QubitPairId to qibocal commit 9ffd79b2a30cfc953ddb329302c64c238731aaea Author: Stavros Efthymiou <[email protected]> Date: Fri Sep 13 16:30:08 2024 +0400 fix: Rabi length for new result shapes commit c6482aa4615eee9ae9ebda0e2624c746b6437fed Author: Stavros Efthymiou <[email protected]> Date: Mon Sep 9 18:08:09 2024 +0400 chore: update resonator spectroscopy after moving results to qibocal commit 36d38cda8a34731d5471394e58750658d2524d55 Author: Stavros Efthymiou <[email protected]> Date: Tue Sep 3 19:47:45 2024 +0400 chore: move result manipulation functions from qibolab commit 9dd49a48cb9541666de894be6535f5da8cf807a9 Author: Stavros Efthymiou <[email protected]> Date: Tue Sep 3 19:47:25 2024 +0400 chore: update for new result structure commit 57503ffd0e21dc754c078cf046cafe696dc78bdb Author: Stavros Efthymiou <[email protected]> Date: Tue Sep 3 14:03:52 2024 +0400 chore: update resonator spectroscopy commit 6468d925eb871b3d0e064702f522cf80483a9b5a Author: Stavros Efthymiou <[email protected]> Date: Sun Sep 1 02:53:07 2024 +0400 chore: update Rabi routines commit fef91b9e66bb58c8ef736241059820fe26028598 Author: Alessandro Candido <[email protected]> Date: Fri Aug 30 20:34:47 2024 +0200 fix: Add delays on acquisition in classification commit 5b6611df547abaab4fd3eb2ed7de70b824b25953 Author: Alessandro Candido <[email protected]> Date: Mon Aug 26 15:17:32 2024 +0200 fix: Use readout id, not acquisition commit a80712b41300c518cea710617e817d5b6e26130a Author: Alessandro Candido <[email protected]> Date: Mon Aug 26 13:19:15 2024 +0200 fix: Update channel names retrieval in classification commit 36a9339a8d50d35bd2c2f456f884adc5db8c1560 Author: Stavros Efthymiou <[email protected]> Date: Sun Sep 1 02:29:06 2024 +0400 chore: convert Rabi amplitude to absolute sweeper commit 0b522082368b68ebb74b1b2b43050b380b68bc72 Author: Stavros Efthymiou <[email protected]> Date: Thu Aug 29 01:04:00 2024 +0400 chore: drop sweeper type from rabi commit 1f33656bc7d7ab3a965d4766b1a66ab41c34ba9a Author: Stavros Efthymiou <[email protected]> Date: Thu Aug 29 01:03:38 2024 +0400 chore: drop outdated updates commit 9e86b1d5b23792d2679efce99d8bdf8aa9ff7de8 Author: Stavros Efthymiou <[email protected]> Date: Wed Aug 28 23:49:02 2024 +0300 chore: drop SweeperType commit b874a42b348ab2dc80b2e747f7da6d660b60c7ce Author: Stavros Efthymiou <[email protected]> Date: Wed Aug 28 23:44:18 2024 +0300 chore: update QubitId and QubitPairId imports to identifier commit 222da2ba2ea5f7678eb2d0ca33bb167429c9cdd3 Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 27 21:06:25 2024 +0400 fix: unrolling result indexing commit 28d3cd20ef890b1b26d7f12f19698471e873d61a Author: Alessandro Candido <[email protected]> Date: Sun Aug 25 11:37:45 2024 +0200 build: Update qibolab version with git dependency commit 544bd67b3311b15a52924a3578231d77369cb55a Author: Stavros Efthymiou <[email protected]> Date: Thu Aug 22 22:27:30 2024 +0400 chore: update Rabi routines for acquisition commit 2f9f1ea279c3300166c7257b01c25c521d6e9972 Author: Stavros Efthymiou <[email protected]> Date: Thu Aug 22 22:07:03 2024 +0400 chore: implement duration interpolated sweeper commit 1f937268e25b2d3577b9b240915b39e1ef31d527 Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 20 21:59:08 2024 +0400 chore: update with new acquisition format commit 5e3cbe6d2a927fcbe3e74c0187dd6d944850c9b5 Author: Stavros Efthymiou <[email protected]> Date: Sun Aug 18 14:56:31 2024 +0400 chore: update Rabi routines commit 0984ba8014cbec78be53ef07da531eeb00c80eab Author: Stavros Efthymiou <[email protected]> Date: Sun Aug 18 13:36:58 2024 +0300 chore: change PulseSequence import to qibolab.sequence commit 77e36846f424ad69392e7f8b2d0a0d2f789d6225 Author: Stavros Efthymiou <[email protected]> Date: Fri Aug 16 21:09:57 2024 +0400 chore: update single shot for new qibolab serialization commit 47a5d48e7f6a9f37c2f3f0e67cc8ba3605e339ca Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 13 20:33:24 2024 +0400 fix: update Rabi length signal for new sequence layout commit 0a269b4c2d94b88d4347ca3d18492e5793e10e2f Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 13 20:33:07 2024 +0400 fix: update Rabi length for new sequence layout commit 6964785715488adeac3aa8066500ac01afa7a73e Author: Stavros Efthymiou <[email protected]> Date: Sun Aug 11 15:05:59 2024 +0400 chore: update routines for the new sequence layout commit eee321e33866f4d5e3ce9f319507043fe0055829 Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 6 23:57:34 2024 +0400 chore: update resonator spectroscopy commit 5c9838b4ef811cac68ef706d1a97cb8528b6ab04 Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 6 23:57:08 2024 +0400 chore: update rabi amplitude commit ceed1c7396f45a634da58a3eb599f68bd6fc0a67 Author: Stavros Efthymiou <[email protected]> Date: Tue Aug 6 23:09:21 2024 +0400 chore: update single shot commit 9c7da03c986b51201225d3ab6e9ced713f0a57af Author: Stavros Efthymiou <[email protected]> Date: Mon Jul 15 16:44:16 2024 +0400 chore: update T1, T2 signal and rabi length routines commit 502cd2dddf24a99c73435d4a6645a3a35f2d58e6 Author: Stavros Efthymiou <[email protected]> Date: Sun Jul 14 01:27:51 2024 +0400 refactor: update classification, rabi amplitude and resonator spectroscopy routines
for more information, see https://pre-commit.ci
Merge branch 'pi_half' of github.com:qiboteam/qibocal into pi_half
Fix backend call
Merge branch 'pi_half' of github.com:qiboteam/qibocal into pi_half
Thanks for the detailed comparison @stavros11!
Generally I agree with this, since if we merge people (at least developers) will be more or less forced to use this version :) |
Co-authored-by: Alessandro Candido <[email protected]>
for more information, see https://pre-commit.ci
Co-authored-by: Alessandro Candido <[email protected]>
Merge branch 'pi_half' of github.com:qiboteam/qibocal into pi_half
change syntax
Co-authored-by: Alessandro Candido <[email protected]>
Merge branch 'pi_half' of github.com:qiboteam/qibocal into pi_half
Co-authored-by: Andrea Pasquale <[email protected]>
RX90 calibration implementation
I am starting this by squashing the commits of #809, because many of them was keeping up-to-date with the many API changes during the qibolab 0.2 development and these are not very relevant for the final commit history.
The update requires roughly the following steps:
_acquisition
in all routines (list of routines below).Platform
after each routine. This should mainly affect the update.py file and not the routines themselves.Platform
. These are not required for execution, but usually calculated/updated by qibocal (T1, T2, fidelities, etc.). Adding calibration parameters to qibocal #1021PulseSequence
manipulation is broken almost everywhere.This update should not affect the qibocal interface. I called the branch
0.2
because I assumed that we will eventually release it as such, in order to maintain agreement between qibolab-qibocal versions, but this is not strictly required if we don't break the qibocal interface (we could keep going with qibocal 0.1.*). I could change the branch name if it is confusing.@Edoardo-Pedicillo mentioned that a potential qibocal refactoring was being discussed, however I would suggest to keep the two independent unless there is an important reason not to. If you want the "refactored qibocal" to support qibolab 0.1, you need to do this refactor first, however based on the discussed priorities, I think we should go ahead with 0.2 and forget 0.1 as soon as possible.
To elaborate a bit more on the above points:
(1) requires the most work, however it is also the tedious kind of work, so there should be no significant blocking points. I will add below a list of the routines, to split them among the people involved and keep track what is updated. In every routine we need to update the
PulseSequence
creation, how the native pulses are obtained from thePlatform
, howSweeper
s are defined and potentially how results are obtained and post-processed. Qibolab devs could potentially give a tutorial with more details. Some routines are already updated (see below) so they could serve as template.(2) may be a bit trickier because, unlike (1), we don't have a POC yet and qibolab 0.2 is not very user-friendly when it comes to
Platform
parameter updates. I am planning to open another PR (on top of this) with a POC to discuss and once this is finalized we can propagate to all updates. The good news is that this can also progress independently of point 1.(3) is not strictly required for things to work and the simplest solution is to just drop all the updates of such parameters. If users want to report them, they can refer to the corresponding reports, until we come up with a better way to store them. However, alternative solutions are welcome (@andrea-pasquale @alecandido ).
Points 4 and 5 should come naturally as 1 and 2 are completed.
List of routines to be updated (taken from `__init__` ):
- [ ] "allxy_drag_pulse_tuning",(because it could be just a qibocal script)"t1_sequences", Porting some protocols to qibolab 0.2 #1036(we can drop it since all drivers in 0.2 should support sweepers over duration)"t2_sequences", Porting some protocols to qibolab 0.2 #1036(we can drop it since all drivers in 0.2 should support sweepers over duration)"zeno_signal", Porting some protocols to qibolab 0.2 #1036(we can drop it since the version with probability should be enough)"coupler_chevron"Restore coupler protocols #1039 ,"coupler_qubit_spectroscopy"Restore coupler protocols #1039 ,"coupler_resonator_spectroscopy"Restore coupler protocols #1039 ,"fast_reset",(we can drop it since no driver in 0.2 supports fast reset)"flipping_signal", Porting some protocols to qibolab 0.2 #1036"avoided_crossing",(we can drop it since it will be replaced Add experiment for qubit frequency vs flux amplitude #1037)"qubit_flux_tracking",(we can drop it temporarily since it performs correction of the order of kHz)"resonator_crosstalk",(we can drop it since we can evaluate the crosstalk matrix just with qubit crosstalk)"rabi_length_sequences",(to be dropped see other sequences experiments)"twpa_frequency",(to be converted into a script)"twpa_frequency_power",(to be converted into a script)"twpa_frequency_snr",(to be converted into a script)"twpa_power",(to be converted into a script)"twpa_power_snr",(to be converted into a script)"resonator_punchout_attenuation",(to be reintroduced after qblox driver is ready for 0.2)"chsh_circuits",(we will add it later)"chsh_pulses",(we will add it later)"correct_virtual_z_phases_signal", (to be removed)