qiboteam / qibolab

Quantum hardware module and drivers for Qibo.
https://qibo.science
Apache License 2.0
42 stars 14 forks source link

Support for QM Octaves #733

Closed stavros11 closed 8 months ago

stavros11 commented 10 months ago

Updates the Quantum Machines driver to support Octave devices. Platforms can now be defined with or without Octaves. OPX+ and Octave controllers are exposed as different objects in order to provide the corresponding ports.

qm-qua has been updated to the latest version that supports the current firmware of our cluster.

This has been tested with the instruments but without a qubit connected.

Potentially helpful for review:

Checklist:

codecov[bot] commented 10 months ago

Codecov Report

Attention: 88 lines in your changes are missing coverage. Please review.

Comparison is base (90b5775) 63.88% compared to head (3cf00f2) 65.02%.

Files Patch % Lines
src/qibolab/instruments/qm/controller.py 74.05% 48 Missing :warning:
src/qibolab/instruments/qm/acquisition.py 69.89% 28 Missing :warning:
src/qibolab/instruments/qm/config.py 88.33% 7 Missing :warning:
src/qibolab/instruments/qm/sweepers.py 0.00% 2 Missing :warning:
src/qibolab/channels.py 80.00% 1 Missing :warning:
src/qibolab/instruments/qm/devices.py 98.18% 1 Missing :warning:
src/qibolab/instruments/qm/ports.py 98.83% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #733 +/- ## ========================================== + Coverage 63.88% 65.02% +1.14% ========================================== Files 49 50 +1 Lines 5793 6025 +232 ========================================== + Hits 3701 3918 +217 - Misses 2092 2107 +15 ``` | [Flag](https://app.codecov.io/gh/qiboteam/qibolab/pull/733/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=qiboteam) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/qiboteam/qibolab/pull/733/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=qiboteam) | `65.02% <82.97%> (+1.14%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=qiboteam#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

stavros11 commented 9 months ago

Thanks @alecandido for the review. I addressed all the comments except the unresolved that have been linked to issues.

stavros11 commented 9 months ago

@hay-k can you please review this PR, because soon the lab may decide to connect QM to some chip and the current driver on main does not support Octave devices as we received later than the original cluster. If you don't have time let us know and I can ask someone else to review.

alecandido commented 8 months ago

I agree with @igres26 about merging, we could keep improving in further PRs, but at least we'd have (even preliminary) support for the Octaves.