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

Timing and sweepers #891

Open
alecandido opened this issue Jun 19, 2024 · 4 comments
Open

Timing and sweepers #891

alecandido opened this issue Jun 19, 2024 · 4 comments

Comments

@alecandido
Copy link
Member

alecandido commented Jun 19, 2024

This issue apparently involves all the routines with a time-related sweeper, and it spans Qibolab as well.

It was initially spotted in qiboteam/qibolab#914 (comment) that the start time of the readout pulse in a Rabi experiment should be played right after the drive pulse is finished, for all the values in the sweepers.

However, the only way the Qibocal routine can specify this, is by playing the readout pulse at the end of the drive for the initial value of the sweeper. Hoping for the best.

This is not a full specification of how the experiment should be performed, since the start value of the readout should be updated by the sweeper, but there is no specification of that in the platform.sweep() inputs.
Instead, the acceptable solutions would be:

Current Qibocal is more or less the best it can be done with the present Qibolab, but still the implementation is flaky or just wrong, and we should upgrade it as soon as Qibolab will support one of the options above.

@alecandido
Copy link
Member Author

I still have to confirm, but I suspect that this is not an issue with most of the drivers, because of an implicit push for the measurement at the end of the experiment, that would be an issue on its own (because we lose part of the control over the readout pulses timing).

Is this the case? @stavros11 @hay-k

@andrea-pasquale
Copy link
Contributor

@alecandido can we close this? It feels that this was already solved by qibolab 0.2

@alecandido
Copy link
Member Author

@andrea-pasquale you're definitely right, this is actually solved in Qibolab 0.2. All the options above are available in current Qibolab.

I believe @stavros11 already updated Rabi in #990, with and without using Align instructions.
If he confirms, we can definitely close the issue.

@stavros11
Copy link
Member

Sorry for the late reply on this, I just found it while going through old marked notifications.

Indeed, duration sweepers are much more transparent in qibolab 0.2. To add to the last comment, now multiple routines involving such sweepers have been implemented in #990, including Rabi length, T1, Ramsey and spin echo. These are mainly taking advantage of parallel sweeps and have been tested on QM. If you agree with these implementations feel free to close the issue.

Also note that pulse.start has been dropped in 0.2, so the only time related parameter that can be swept is duration, either of a Pulse or a Delay, which also simplifies things a bit. The only open problem is to make sure uniform behavior across instruments, however this is qibolab's problem and we can only test it after we have more drivers in 0.2.

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

No branches or pull requests

3 participants