qiboteam / qibolab

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

Performance of RB experiments #912

Open stavros11 opened 5 months ago

stavros11 commented 5 months ago

I have been running some RB experiments on Quantum Machines using the QUA script from https://github.com/qua-platform/qua-libs/blob/9684c875a90a3ea4d1646a1f290b8dfe5a1f2893/Quantum-Control-Applications/Superconducting/Single-Fixed-Transmon/16a_randomized_benchmarking.py with a few modifications to make it work on our instrument configuration and without plotting etc.

Out of curiosity, I tried to compare performance with the same experiment (standard RB) in the qibolab+qibocal combo. For the following parameters:

targets: [0]

actions:
  - id: standard rb unrolling
    operation: standard_rb
    parameters:
      depths: [1, 10]
      niter: <varying>
      nshots: 1
      unrolling: True
here are the results (execution time in sec) niter QUA Qibo (unrolling) Qibo (no unrolling)
10 0.09 14.26 48.17
50 0.09 166.08 246.77
100 0.21 327.07
10000 8.14
50000 40.43

*relaxation time of 400 microseconds was used between shots.

Clearly there is long way to go for our drivers, in terms of performance, for this kind of experiments. It would be interesting to see similar comparisons for other instruments.

One important difference in the QUA script used is that the random sequence indices (as well as compilation/conversion to pulses) happens on the device, which in qibocal this is done on the host machine. I am not sure to what extend this affects performance, for sure it does, but most likely there are other improvements that can be done before that.

(@Jacfomg @Edoardo-Pedicillo @andrea-pasquale you may be interested since you have worked on RB experiments)

Jacfomg commented 5 months ago

@alecandido please have a look at this since we mentioned it