-
Notifications
You must be signed in to change notification settings - Fork 15
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 characterization #972
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 0.2 #972 +/- ##
==========================================
- Coverage 43.57% 42.90% -0.68%
==========================================
Files 80 80
Lines 5567 5505 -62
==========================================
- Hits 2426 2362 -64
- Misses 3141 3143 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
The name collision issue was not much caused by the E.g. I was using it in the compiler (of course in #965, sorry for the confusion): qibolab/src/qibolab/compilers/compiler.py Lines 142 to 162 in d61323e
To be fair, I also don't like that much of having two dictionaries whose keys are implicitly concatenated, so, I see a few options:
Of course, I'm inclined towards 3., but open to discussion (especially, I'm not sure whether is possible, and if there is any drawback). We could even do in a further PR (e.g. #965 itself, where we have a use case for
To me, it's fine either way, but I'd appreciate rebasing #965 on top of this one or the opposite, since it's would be handy to have both to work on the serialization. |
If that could be useful on its own, that's absolutely good. However, if it's only duplicating the content of 2q gates, then I'd instead register an empty native. For the current layout, it is possible for |
1fa296f
to
b2c49d8
Compare
Thanks for the quick feedback.
I rebased this on top of #965 to unlock this. I did a quick patch for the compiler, but of course we can change this in the final version. This will even happen automatically by addressing some of your comments. I hope this is sufficient to not block your work, but I will try to address the rest of comments in the next days. Actually this rebase is also convenient for me, as now I can fix both the sequence and the threshold/iq_angle/kernels in the QM driver together. |
Assuming 1, which is what is currently implemented here, the temporary patch for the compiler and
I also agree with this. I guess the answer to whether the "coupler native" is useful on its own depends on the routines that are used to calibrate it. I am guessing that it needs to be calibrated seperately from the 2q gates, but I am also not very familiar with the procedure. Maybe @andrea-pasquale or @Jacfomg know more. |
d61323e
to
a63f638
Compare
I am not that expert on this but at least to my knowledge the only purpose of the coupler pulse is to turn on the interaction between two qubits. Therefore I am expecting that it shouldn't be needed anywhere else. If some particular applications require to send a pulse to the coupler we could always create one and assign it to coupler channel in runtime, correct? |
Creating arbitrary pulses will always be an option :) |
3088f0d
to
af0d7f9
Compare
Ok, I rebased on present 0.2 (no conflict). I already approved before, and it's fine by to merge as soon as you're ready. |
Fixes #945 by removing the characterization section of the runcard, since it is not needed for execution.
@alecandido this is probably undoing something that was done in #891, in particular I renamed the couplers back to 0, 1,... (instead of c0, c1,...). I think the only function that was causing an issue with name collisions between qubits and couplers was
platform.elements
, so I removed it, as I don't see the need for it. One can useplatform.qubits
andplatform.couplers
indepedently.I also added back to the runcards and native gates the
CP
(coupler pulse). This is because since the "characterization" section no longer exists, we are now based on the native gates to register qubits and couplers. Therefore, if there are no native gates on couplers they will not be registered at all in the platform.Tests are passing, however the change of threshold and angle needs to be propagated to the QM driver. I will probably do that together with the changes of #965 (I may even rebase this PR to that).