Skip to content

Commit 0674c61

Browse files
refactor: Modify execute_circuits accordingly
1 parent 53ba1be commit 0674c61

File tree

1 file changed

+9
-6
lines changed
  • src/qibocal/protocols/randomized_benchmarking

1 file changed

+9
-6
lines changed

src/qibocal/protocols/randomized_benchmarking/utils.py

+9-6
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
import numpy as np
88
import numpy.typing as npt
99
from qibo import gates
10-
from qibo.backends import get_backend
10+
from qibo.backends import construct_backend, get_backend
1111
from qibo.config import raise_error
1212
from qibo.models import Circuit
1313
from qibolab.platform import Platform
1414
from qibolab.qubits import QubitId, QubitPairId
1515

1616
from qibocal.auto.operation import Data, Parameters, Results
1717
from qibocal.auto.transpile import (
18+
AVAILABLE_PLATFORMS,
1819
dummy_transpiler,
1920
execute_transpiled_circuit,
2021
execute_transpiled_circuits,
@@ -351,9 +352,10 @@ def setup(
351352
Returns:
352353
tuple: A tuple containing the experiment data, noise model, and backend.
353354
"""
354-
355-
backend = get_backend()
356-
backend.platform = platform
355+
if platform.name in AVAILABLE_PLATFORMS:
356+
backend = construct_backend(backend="qibolab", platform=platform)
357+
else:
358+
backend = get_backend()
357359
# For simulations, a noise model can be added.
358360
noise_model = None
359361
if params.noise_model is not None:
@@ -439,7 +441,7 @@ def get_circuits(
439441
return circuits, indexes, npulses_per_clifford
440442

441443

442-
def execute_circuits(circuits, targets, params, platform, single_qubit=True):
444+
def execute_circuits(circuits, targets, params, backend, single_qubit=True):
443445
"""
444446
Executes a list of circuits on a given backend.
445447
@@ -455,6 +457,7 @@ def execute_circuits(circuits, targets, params, platform, single_qubit=True):
455457
456458
"""
457459
# Execute the circuits
460+
platform = backend.platform
458461
transpiler = dummy_transpiler(platform)
459462
qubit_maps = (
460463
[[i] for i in targets] * (len(params.depths) * params.niter)
@@ -549,7 +552,7 @@ def twoq_rb_acquisition(
549552
Returns:
550553
RB2QData: The acquired data for two qubit randomized benchmarking.
551554
"""
552-
555+
targets = [tuple(pair) if isinstance(pair, list) else pair for pair in targets]
553556
data, noise_model, backend = setup(params, platform, single_qubit=False)
554557
circuits, indexes, npulses_per_clifford = get_circuits(
555558
params, targets, add_inverse_layer, interleave, noise_model, single_qubit=False

0 commit comments

Comments
 (0)