qiboteam / qibolab

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

Modify qrm_rf driver so that qrm_rf modules can be used as qcm_rf to generate drive pulses. #800

Closed aorgazf closed 7 months ago

aorgazf commented 7 months ago

The driver of the qrm_rf is modified so that if the qrm_rf does not receive any readout pulses, it does not trigger any acquisitions, allowing the use of the module for drive only.

The cluster connected to tii1q_d28 has 2 qrm_rf modules, due to the lack of acm_rf modules.

Checklist:

codecov[bot] commented 7 months ago

Codecov Report

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

Comparison is base (758e9a1) 63.89% compared to head (97c8b63) 63.88%. Report is 6 commits behind head on main.

:exclamation: Current head 97c8b63 differs from pull request most recent head 78f9d4f. Consider uploading reports for the commit 78f9d4f to get more accurate results

Files Patch % Lines
src/qibolab/instruments/qblox/cluster_qrm_rf.py 0.00% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #800 +/- ## ========================================== - Coverage 63.89% 63.88% -0.02% ========================================== Files 49 49 Lines 5792 5793 +1 ========================================== Hits 3701 3701 - Misses 2091 2092 +1 ``` | [Flag](https://app.codecov.io/gh/qiboteam/qibolab/pull/800/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/800/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=qiboteam) | `63.88% <0.00%> (-0.02%)` | :arrow_down: | 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.

alecandido commented 7 months ago

@PiergiorgioButtarini: in principle, we could make a minimal subclass making it clear that it is a qrm_rf used for this purpose.

However, I'd postpone after the Module reorganization, when the main class itself will be as minimal as possible. In case you agree with the plan, just open an issue about this.

PiergiorgioButtarini commented 7 months ago

@alecandido yes we could but idk how much this will be really useful in the future. Consider that using the qrm as a drive module is a necessity due to the temporary lack of QcmRf and in the next weeks we should receive an order that will avoid this problem. If you think that in general is an interesting feature to have, I will open an issue about it.

alecandido commented 7 months ago

I believe it is not a bad idea in general. Of course, it is better to use the qrm for what is made for, since it would be a waste in the long term.

But this setup may happen, maybe even not only in the TII lab (provided that someone else is using Qibolab), as it happened for you know. Given that it requires so little to support it, I would keep it as a feature.

PiergiorgioButtarini commented 7 months ago

Yes if we consider that other lab can have the same problem it might be a nice feature to have. Thanks I will open an issue and merge this!