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

Porting some protocols to qibolab 0.2 #1036

Merged
merged 51 commits into from
Nov 15, 2024
Merged

Porting some protocols to qibolab 0.2 #1036

merged 51 commits into from
Nov 15, 2024

Conversation

andrea-pasquale
Copy link
Contributor

@andrea-pasquale andrea-pasquale commented Oct 30, 2024

I know that there is already #990 for updating protocols to qibolab 0.2, however after #1021 I started to play with 0.2 a bit more and I changed a few protocols to 0.2.

Regarding this PR, I'm pointing to this #1021 and I'm expecting to merge this after we merge #1021 to #990. Perhaps it is also useful to ease the review process since this PR is updating only a few protocols.

Checklist:

  • Reviewers confirm new code works as expected.
  • Tests are passing.
  • Coverage does not decrease.
  • Documentation is updated.
  • Compatibility with Qibo modules (Please edit this section if the current pull request is not compatible with the following branches).
    • Qibo: master
    • Qibolab: main
    • Qibolab_platforms_qrc: main

@andrea-pasquale andrea-pasquale mentioned this pull request Oct 30, 2024
76 tasks
Copy link
Member

@stavros11 stavros11 left a comment

Choose a reason for hiding this comment

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

Thanks for updating more routines @andrea-pasquale! I haven't tested anything but it looks good, apart from the issue with discussed yesterday with using sequence concatenation (|) when multiple qubits are involved. This will not work well if you want to play things in parallel on different qubits. Most likely you can still get correct results as it is, but it will be using one qubit at a time which is not the same behavior as 0.1.

src/qibocal/protocols/coherence/zeno_signal.py Outdated Show resolved Hide resolved
src/qibocal/protocols/dispersive_shift.py Outdated Show resolved Hide resolved
src/qibocal/protocols/dispersive_shift_qutrit.py Outdated Show resolved Hide resolved
src/qibocal/protocols/drag.py Outdated Show resolved Hide resolved
src/qibocal/protocols/readout_characterization.py Outdated Show resolved Hide resolved
src/qibocal/protocols/flipping_signal.py Outdated Show resolved Hide resolved
Base automatically changed from 0.2-cal to 0.2 November 7, 2024 11:06
stavros11 and others added 21 commits November 7, 2024 16:44
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
Copy link

codecov bot commented Nov 9, 2024

Codecov Report

Attention: Patch coverage is 94.07806% with 44 lines in your changes missing coverage. Please review.

Please upload report for BASE (0.2@8093a68). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/qibocal/calibration/serialize.py 73.80% 11 Missing ⚠️
src/qibocal/protocols/drag.py 78.57% 6 Missing ⚠️
...ls/randomized_benchmarking/standard_rb_2q_inter.py 25.00% 6 Missing ⚠️
src/qibocal/update.py 83.87% 5 Missing ⚠️
src/qibocal/auto/execute.py 40.00% 3 Missing ⚠️
src/qibocal/protocols/allxy/allxy.py 88.88% 2 Missing ⚠️
...bocal/protocols/flux_dependence/qubit_crosstalk.py 96.00% 2 Missing ⚠️
src/qibocal/calibration/calibration.py 93.75% 1 Missing ⚠️
...rotocols/allxy/allxy_resonator_depletion_tuning.py 95.83% 1 Missing ⚠️
src/qibocal/protocols/coherence/t1_signal.py 88.88% 1 Missing ⚠️
... and 6 more
Additional details and impacted files

Impacted file tree graph

@@          Coverage Diff           @@
##             0.2    #1036   +/-   ##
======================================
  Coverage       ?   94.11%           
======================================
  Files          ?       99           
  Lines          ?     7938           
  Branches       ?        0           
======================================
  Hits           ?     7471           
  Misses         ?      467           
  Partials       ?        0           
Flag Coverage Δ
unittests 94.11% <94.07%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/qibocal/auto/output.py 100.00% <100.00%> (ø)
src/qibocal/auto/transpile.py 91.66% <100.00%> (ø)
src/qibocal/protocols/__init__.py 100.00% <ø> (ø)
src/qibocal/protocols/classification.py 94.05% <100.00%> (ø)
...rc/qibocal/protocols/coherence/spin_echo_signal.py 100.00% <100.00%> (ø)
src/qibocal/protocols/coherence/t1.py 100.00% <100.00%> (ø)
src/qibocal/protocols/coherence/t2.py 100.00% <100.00%> (ø)
src/qibocal/protocols/coherence/t2_signal.py 100.00% <100.00%> (ø)
src/qibocal/protocols/coherence/utils.py 97.33% <100.00%> (ø)
src/qibocal/protocols/coherence/zeno.py 100.00% <100.00%> (ø)
... and 44 more

@andrea-pasquale
Copy link
Contributor Author

A quick update on the status of this PR.

I manage to update all protocols that we want to port immediately to 0.2 and tests are passing (coverage needs to be improved).
After discussing with @Edoardo-Pedicillo, we decided to drop many of them while some others will be ported later including CHSH and Mermin.

Some of the updates, regarding the calibration section, are already done. Since qiboteam/qibolab#1086 is now merged, we could start updating also native gates/channels parameters here.

@stavros11 feel free to start adding the update whenever you have time.

@andrea-pasquale
Copy link
Contributor Author

@stavros11 @alecandido if you agree we can merge this PR in #990 given that this PR has modified many files.
In bd9485e I've implemented the update also for the qibolab parameters. The only one missing is for the virtual z phases which I'm planning to do after testing on hardware to make sure that everything is fine.

@stavros11
Copy link
Member

@stavros11 @alecandido if you agree we can merge this PR in #990 given that this PR has modified many files. In bd9485e I've implemented the update also for the qibolab parameters.

I agree with merging, since at this stage the review will be easier if we have one PR instead of two. Thanks for updating all the routines and including the platform updates! I had a quick look in the platform updates and it looks good to me. As for the routines, if they work on hardware there isn't much that can go wrong in the update, other than the usual issue with the sequence timing (concatenation, etc.).

The only one missing is for the virtual z phases which I'm planning to do after testing on hardware to make sure that everything is fine.

It would be good if you do that, because I believe I initially updated this routine in #990 but then there were some changes merged to main, which I am not sure if they were propagated properly after rebasing, as I have not tested on hardware after fixing conflicts.

@andrea-pasquale
Copy link
Contributor Author

@stavros11 @alecandido if you agree we can merge this PR in #990 given that this PR has modified many files. In bd9485e I've implemented the update also for the qibolab parameters.

I agree with merging, since at this stage the review will be easier if we have one PR instead of two. Thanks for updating all the routines and including the platform updates! I had a quick look in the platform updates and it looks good to me. As for the routines, if they work on hardware there isn't much that can go wrong in the update, other than the usual issue with the sequence timing (concatenation, etc.).

The only one missing is for the virtual z phases which I'm planning to do after testing on hardware to make sure that everything is fine.

It would be good if you do that, because I believe I initially updated this routine in #990 but then there were some changes merged to main, which I am not sure if they were propagated properly after rebasing, as I have not tested on hardware after fixing conflicts.

Thanks for the feedback @stavros11. I will merge now.

@andrea-pasquale andrea-pasquale merged commit b7afb14 into 0.2 Nov 15, 2024
21 checks passed
@andrea-pasquale andrea-pasquale deleted the 0.2-more-protocols branch November 15, 2024 10:57
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.

4 participants