Przejdź do głównej treści

Wizualizacja taktowania obwodów

Wersje pakietów

Kod na tej stronie został opracowany przy użyciu poniższych wymagań. Zalecamy korzystanie z tych wersji lub nowszych.

qiskit[all]~=2.3.0
qiskit-ibm-runtime~=0.43.1

Oprócz wizualizacji instrukcji w obwodzie możesz chcieć zwizualizować harmonogram obwodu za pomocą metody Qiskit timeline_drawer. Ta wizualizacja może pomóc na przykład szybko wykryć czas bezczynności na qubitach. Jednak ta metoda nie zwraca dokładnych wyników dla obwodów dynamicznych. Aby zwizualizować harmonogram obwodów dynamicznych, użyj metody draw_circuit_schedule_timing, jak opisano w sekcji Wsparcie Qiskit Runtime.

Przykłady

Aby zwizualizować zaplanowany program obwodu, możesz wywołać tę funkcję z zestawem argumentów sterujących. Większość wyglądu obrazu wyjściowego można modyfikować za pomocą arkusza stylów, ale nie jest to wymagane.

Rysowanie z domyślnym arkuszem stylów

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-runtime
from qiskit import QuantumCircuit
from qiskit.visualization.timeline import draw
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.transpiler import generate_preset_pass_manager

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)

backend = GenericBackendV2(5)

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

draw(isa_circuit, target=backend.target)

Output of the previous code cell

Rysowanie z arkuszem stylów przystosowanym do debugowania programu

from qiskit import QuantumCircuit
from qiskit.visualization.timeline import draw, IQXDebugging
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.transpiler import generate_preset_pass_manager

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

backend = GenericBackendV2(5)
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)
draw(isa_circuit, style=IQXDebugging(), target=backend.target)

Output of the previous code cell

Możesz tworzyć niestandardowe funkcje generatora lub układu i aktualizować istniejący arkusz stylów za pomocą tych niestandardowych funkcji. W ten sposób możesz kontrolować większość wyglądu obrazu wyjściowego bez modyfikowania bazy kodu rysownika zaplanowanych obwodów. Zobacz dokumentację API timeline_drawer, aby uzyskać więcej przykładów.

Wsparcie Qiskit Runtime

Chociaż rysownik osi czasu wbudowany w Qiskit jest przydatny dla obwodów statycznych, może nie odzwierciedlać dokładnie taktowania obwodów dynamicznych z powodu operacji niejawnych, takich jak rozgłaszanie i wyznaczanie gałęzi. W ramach wsparcia obwodów dynamicznych Qiskit Runtime zwraca dokładne informacje o taktowaniu obwodu w wynikach zadania, gdy są one żądane.

Uwagi
  • Jest to funkcja eksperymentalna. Ma status wersji zapoznawczej i może ulec zmianie.
  • Ta funkcja dotyczy tylko zadań Sampler w Qiskit Runtime.
  • Chociaż całkowity czas obwodu jest zwracany w metadanych "compilation", NIE jest to czas używany do rozliczeń (czas kwantowy).

Włączanie pobierania danych taktowania

Aby włączyć pobieranie danych taktowania, ustaw eksperymentalną flagę scheduler_timing na True podczas uruchamiania zadania prymitywu.

from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

sampler = SamplerV2(backend)
sampler.options.experimental = {
"execution": {
"scheduler_timing": True,
},
}

sampler_job = sampler.run([isa_circuit])
result = sampler_job.result()

Dostęp do danych taktowania obwodu

Gdy są żądane, dane taktowania obwodu dla każdego PUB są zwracane w metadanych wyniku zadania, w ["compilation"]["scheduler_timing"]["timing"]. To pole zawiera surowe informacje o taktowaniu. Aby wyświetlić informacje o taktowaniu, użyj wbudowanego narzędzia wizualizacji, jak opisano w sekcji Wizualizacja taktowania.

Użyj następującego kodu, aby uzyskać dostęp do danych taktowania obwodu dla pierwszego PUB:

job_result = sampler_job.result()
circuit_schedule = job_result[0].metadata["compilation"]["scheduler_timing"]
circuit_schedule_timing = circuit_schedule["timing"]

Zrozumienie surowych danych taktowania

Chociaż wizualizacja danych taktowania obwodu za pomocą metody draw_circuit_schedule_timing jest najczęstszym przypadkiem użycia, przydatne może być zrozumienie struktury zwracanych surowych danych taktowania. Może to pomóc na przykład w programowym wyodrębnianiu informacji.

Dane taktowania zwracane w ["compilation"]["scheduler_timing"]["timing"] to lista ciągów znaków. Każdy ciąg reprezentuje pojedynczą instrukcję na pewnym kanale i jest oddzielony przecinkami na następujące typy danych:

  • Branch - Określa, czy instrukcja znajduje się w przepływie sterowania (then / else) czy w głównej gałęzi.
  • Instruction - Bramka i qubit, na którym ma operować.
  • Channel - Kanał, do którego jest przypisana instrukcja. Może to być jeden z następujących:
    • Qubit x - Kanał napędowy dla qubitu x.
    • AWGRx_y (arbitrary waveform generator readout) - Używany przez kanały odczytu do komunikacji podczas pomiaru qubitów. Argumenty x i y odpowiadają odpowiednio identyfikatorowi instrumentu odczytu i numerowi qubitu.
  • T0 - Czas rozpoczęcia instrukcji w ramach kompletnego harmonogramu
  • Duration - Czas trwania instrukcji, w jednostkach dt sekund, gdzie 1 dt = 1 cykl planowania. Wartość dt backendu możesz znaleźć za pomocą backend.dt.
  • Pulse - Typ wykonywanej operacji impulsowej.

Przykład:

main,barrier,Qubit 0,7,0,barrier # A barrier on the main branch on qubit 0 at time 7 with 0 duration
main,reset_0,Qubit 0,7,64,play # A reset instruction on the main branch on qubit 0 at time 7 with duration 64 and a play operation
...

Wizualizacja taktowania

Z qiskit-ibm-runtime v0.43.0 lub nowszym możesz wizualizować taktowanie obwodów. Aby zwizualizować taktowanie, musisz najpierw przekonwertować metadane wyniku na fig za pomocą metody draw_circuit_schedule_timing. Ta metoda zwraca figurę plotly, którą możesz wyświetlić bezpośrednio, zapisać do pliku lub jedno i drugie. Aby uzyskać więcej informacji o poleceniach plotly, zobacz fig.show() i fig.write_image("<ścieżka.format>").

from qiskit_ibm_runtime.visualization import draw_circuit_schedule_timing

# Create a figure from the metadata
fig = draw_circuit_schedule_timing(
circuit_schedule=circuit_schedule_timing,
included_channels=None,
filter_readout_channels=False,
filter_barriers=False,
width=1000,
)

# Uncomment the following line to display the figure
# fig.show(renderer="notebook")

# Save to a file
# fig.write_html("scheduler_timing.html")

Najechanie na dane wyjściowe pokazuje informacje takie jak start, koniec i czas trwania.

Zrozumienie wygenerowanej figury

Obraz danych taktowania obwodu wygenerowany przez draw_circuit_schedule_timing przekazuje następujące informacje:

  • Oś X to czas w jednostkach dt sekund, gdzie 1 dt = 1 cykl planowania. Wartość dt backendu możesz znaleźć za pomocą backend.dt.
  • Oś Y to kanał (myśl o kanałach jako o instrumentach emitujących impulsy).
    • Receive channel - Jedyny kanał, który sam w sobie nie jest instrumentem. Jest to instrukcja odtwarzana na wszystkich kanałach, które są częścią procedury komunikacji z hubem w danym momencie.
    • Qubit x - Kanał napędowy dla qubitu x.
    • AWGRx_y (arbitrary waveform generator readout) - Używany przez kanały odczytu do komunikacji podczas pomiaru qubitów. Argumenty x i y odpowiadają odpowiednio identyfikatorowi instrumentu odczytu i numerowi qubitu.
    • Hub - Kontroluje rozgłaszanie.

Dodatkowo każda instrukcja ma format X_Y, gdzie X to nazwa instrukcji, a Y to typ impulsu. Typ play stosuje impulsy sterujące, a capture rejestruje stan qubitu. Możesz również najechać kursorem na każdą instrukcję, aby uzyskać więcej szczegółów. Na przykład poprzednia figura pokazuje impuls sterujący bramki X zastosowany do qubitu 10 przy 1161 dt.

Przykład od początku do końca

Ten przykład pokazuje, jak włączyć opcję, pobrać informacje o taktowaniu obwodu z metadanych i wyświetlić je jako obraz.

Najpierw skonfiguruj środowisko, zdefiniuj obwody i przekonwertuj je na obwody ISA, a następnie zdefiniuj i uruchom zadania.

from qiskit_ibm_runtime import SamplerV2, QiskitRuntimeService
from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister
from qiskit.transpiler import generate_preset_pass_manager

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Create a dynamic circuit

qubits = QuantumRegister(1)
clbits = ClassicalRegister(1)
qc = QuantumCircuit(qubits, clbits)
(q0,) = qubits
(c0,) = clbits

qc.h(q0)
qc.measure(q0, c0)
with qc.if_test((c0, 1)):
qc.x(q0)
qc.measure(q0, c0)

# Convert to an ISA circuit for the given backend

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

# Generate samplers for backend targets
sampler = SamplerV2(backend)
sampler.options.experimental = {"execution": {"scheduler_timing": True}}

# Submit jobs
sampler_job = sampler.run([isa_circuit])
result = sampler_job.result()

print(
f">>> {' Job ID:':<10} {sampler_job.job_id()} ({sampler_job.status()})"
)
>>>  Job ID:    d5kk3cn853es738e01dg (DONE)

Następnie pobierz taktowanie harmonogramu obwodu:

# Get the circuit schedule timing
result[0].metadata["compilation"]["scheduler_timing"]["timing"]
'main,rz_0,Qubit 0,929,0,shift_phase\nmain,sx_0,Qubit 0,929,8,play\nmain,sx_0,Qubit 0,933,0,shift_phase\nmain,rz_0,Qubit 0,937,0,shift_phase\nmain,barrier,Qubit 0,937,0,barrier\nmain,barrier,Qubit 0,937,0,barrier\nmain,barrier,Qubit 1,937,0,barrier\nmain,barrier,Qubit 2,937,0,barrier\nmain,barrier,Qubit 3,937,0,barrier\nmain,barrier,Qubit 4,937,0,barrier\nmain,barrier,Qubit 5,937,0,barrier\nmain,barrier,Qubit 6,937,0,barrier\nmain,barrier,Qubit 7,937,0,barrier\nmain,barrier,Qubit 8,937,0,barrier\nmain,barrier,Qubit 9,937,0,barrier\nmain,barrier,Qubit 10,937,0,barrier\nmain,barrier,Qubit 11,937,0,barrier\nmain,barrier,Qubit 12,937,0,barrier\nmain,barrier,Qubit 13,937,0,barrier\nmain,barrier,Qubit 14,937,0,barrier\nmain,barrier,Qubit 15,937,0,barrier\nmain,barrier,Qubit 16,937,0,barrier\nmain,barrier,Qubit 17,937,0,barrier\nmain,barrier,Qubit 18,937,0,barrier\nmain,barrier,Qubit 19,937,0,barrier\nmain,barrier,Qubit 20,937,0,barrier\nmain,barrier,Qubit 21,937,0,barrier\nmain,barrier,Qubit 22,937,0,barrier\nmain,barrier,Qubit 23,937,0,barrier\nmain,barrier,Qubit 24,937,0,barrier\nmain,barrier,Qubit 25,937,0,barrier\nmain,barrier,Qubit 26,937,0,barrier\nmain,barrier,Qubit 27,937,0,barrier\nmain,barrier,Qubit 28,937,0,barrier\nmain,barrier,Qubit 29,937,0,barrier\nmain,barrier,Qubit 30,937,0,barrier\nmain,barrier,Qubit 31,937,0,barrier\nmain,barrier,Qubit 32,937,0,barrier\nmain,barrier,Qubit 33,937,0,barrier\nmain,barrier,Qubit 34,937,0,barrier\nmain,barrier,Qubit 35,937,0,barrier\nmain,barrier,Qubit 36,937,0,barrier\nmain,barrier,Qubit 37,937,0,barrier\nmain,barrier,Qubit 38,937,0,barrier\nmain,barrier,Qubit 39,937,0,barrier\nmain,barrier,Qubit 40,937,0,barrier\nmain,barrier,Qubit 41,937,0,barrier\nmain,barrier,Qubit 42,937,0,barrier\nmain,barrier,Qubit 43,937,0,barrier\nmain,barrier,Qubit 44,937,0,barrier\nmain,barrier,Qubit 45,937,0,barrier\nmain,barrier,Qubit 46,937,0,barrier\nmain,barrier,Qubit 47,937,0,barrier\nmain,barrier,Qubit 48,937,0,barrier\nmain,barrier,Qubit 49,937,0,barrier\nmain,barrier,Qubit 50,937,0,barrier\nmain,barrier,Qubit 51,937,0,barrier\nmain,barrier,Qubit 52,937,0,barrier\nmain,barrier,Qubit 53,937,0,barrier\nmain,barrier,Qubit 54,937,0,barrier\nmain,barrier,Qubit 55,937,0,barrier\nmain,barrier,Qubit 56,937,0,barrier\nmain,barrier,Qubit 57,937,0,barrier\nmain,barrier,Qubit 58,937,0,barrier\nmain,barrier,Qubit 59,937,0,barrier\nmain,barrier,Qubit 60,937,0,barrier\nmain,barrier,Qubit 61,937,0,barrier\nmain,barrier,Qubit 62,937,0,barrier\nmain,barrier,Qubit 63,937,0,barrier\nmain,barrier,Qubit 64,937,0,barrier\nmain,barrier,Qubit 65,937,0,barrier\nmain,barrier,Qubit 66,937,0,barrier\nmain,barrier,Qubit 67,937,0,barrier\nmain,barrier,Qubit 68,937,0,barrier\nmain,barrier,Qubit 69,937,0,barrier\nmain,barrier,Qubit 70,937,0,barrier\nmain,barrier,Qubit 71,937,0,barrier\nmain,barrier,Qubit 72,937,0,barrier\nmain,barrier,Qubit 73,937,0,barrier\nmain,barrier,Qubit 74,937,0,barrier\nmain,barrier,Qubit 75,937,0,barrier\nmain,barrier,Qubit 76,937,0,barrier\nmain,barrier,Qubit 77,937,0,barrier\nmain,barrier,Qubit 78,937,0,barrier\nmain,barrier,Qubit 79,937,0,barrier\nmain,barrier,Qubit 80,937,0,barrier\nmain,barrier,Qubit 81,937,0,barrier\nmain,barrier,Qubit 82,937,0,barrier\nmain,barrier,Qubit 83,937,0,barrier\nmain,barrier,Qubit 84,937,0,barrier\nmain,barrier,Qubit 85,937,0,barrier\nmain,barrier,Qubit 86,937,0,barrier\nmain,barrier,Qubit 87,937,0,barrier\nmain,barrier,Qubit 88,937,0,barrier\nmain,barrier,Qubit 89,937,0,barrier\nmain,barrier,Qubit 90,937,0,barrier\nmain,barrier,Qubit 91,937,0,barrier\nmain,barrier,Qubit 92,937,0,barrier\nmain,barrier,Qubit 93,937,0,barrier\nmain,barrier,Qubit 94,937,0,barrier\nmain,barrier,Qubit 95,937,0,barrier\nmain,barrier,Qubit 96,937,0,barrier\nmain,barrier,Qubit 97,937,0,barrier\nmain,barrier,Qubit 98,937,0,barrier\nmain,barrier,Qubit 99,937,0,barrier\nmain,barrier,Qubit 100,937,0,barrier\nmain,barrier,Qubit 101,937,0,barrier\nmain,barrier,Qubit 102,937,0,barrier\nmain,barrier,Qubit 103,937,0,barrier\nmain,barrier,Qubit 104,937,0,barrier\nmain,barrier,Qubit 105,937,0,barrier\nmain,barrier,Qubit 106,937,0,barrier\nmain,barrier,Qubit 107,937,0,barrier\nmain,barrier,Qubit 108,937,0,barrier\nmain,barrier,Qubit 109,937,0,barrier\nmain,barrier,Qubit 110,937,0,barrier\nmain,barrier,Qubit 111,937,0,barrier\nmain,barrier,Qubit 112,937,0,barrier\nmain,barrier,Qubit 113,937,0,barrier\nmain,barrier,Qubit 114,937,0,barrier\nmain,barrier,Qubit 115,937,0,barrier\nmain,barrier,Qubit 116,937,0,barrier\nmain,barrier,Qubit 117,937,0,barrier\nmain,barrier,Qubit 118,937,0,barrier\nmain,barrier,Qubit 119,937,0,barrier\nmain,barrier,Qubit 120,937,0,barrier\nmain,barrier,Qubit 121,937,0,barrier\nmain,barrier,Qubit 122,937,0,barrier\nmain,barrier,Qubit 123,937,0,barrier\nmain,barrier,Qubit 124,937,0,barrier\nmain,barrier,Qubit 125,937,0,barrier\nmain,barrier,Qubit 126,937,0,barrier\nmain,barrier,Qubit 127,937,0,barrier\nmain,barrier,Qubit 128,937,0,barrier\nmain,barrier,Qubit 129,937,0,barrier\nmain,barrier,Qubit 130,937,0,barrier\nmain,barrier,Qubit 131,937,0,barrier\nmain,barrier,Qubit 132,937,0,barrier\nmain,measure_0,Qubit 0,937,64,play\nmain,measure_0,Qubit 0,1001,72,play\nmain,measure_0,AWGR13_0,1048,240,capture\nmain,measure_0,Qubit 0,1073,64,play\nmain,barrier,Qubit 0,1484,0,barrier\nmain,barrier,Qubit 0,1484,0,barrier\nmain,barrier,Qubit 1,1484,0,barrier\nmain,barrier,Qubit 2,1484,0,barrier\nmain,barrier,Qubit 3,1484,0,barrier\nmain,barrier,Qubit 4,1484,0,barrier\nmain,barrier,Qubit 5,1484,0,barrier\nmain,barrier,Qubit 6,1484,0,barrier\nmain,barrier,Qubit 7,1484,0,barrier\nmain,barrier,Qubit 8,1484,0,barrier\nmain,barrier,Qubit 9,1484,0,barrier\nmain,barrier,Qubit 10,1484,0,barrier\nmain,barrier,Qubit 11,1484,0,barrier\nmain,barrier,Qubit 12,1484,0,barrier\nmain,barrier,Qubit 13,1484,0,barrier\nmain,barrier,Qubit 14,1484,0,barrier\nmain,barrier,Qubit 15,1484,0,barrier\nmain,barrier,Qubit 16,1484,0,barrier\nmain,barrier,Qubit 17,1484,0,barrier\nmain,barrier,Qubit 18,1484,0,barrier\nmain,barrier,Qubit 19,1484,0,barrier\nmain,barrier,Qubit 20,1484,0,barrier\nmain,barrier,Qubit 21,1484,0,barrier\nmain,barrier,Qubit 22,1484,0,barrier\nmain,barrier,Qubit 23,1484,0,barrier\nmain,barrier,Qubit 24,1484,0,barrier\nmain,barrier,Qubit 25,1484,0,barrier\nmain,barrier,Qubit 26,1484,0,barrier\nmain,barrier,Qubit 27,1484,0,barrier\nmain,barrier,Qubit 28,1484,0,barrier\nmain,barrier,Qubit 29,1484,0,barrier\nmain,barrier,Qubit 30,1484,0,barrier\nmain,barrier,Qubit 31,1484,0,barrier\nmain,barrier,Qubit 32,1484,0,barrier\nmain,barrier,Qubit 33,1484,0,barrier\nmain,barrier,Qubit 34,1484,0,barrier\nmain,barrier,Qubit 35,1484,0,barrier\nmain,barrier,Qubit 36,1484,0,barrier\nmain,barrier,Qubit 37,1484,0,barrier\nmain,barrier,Qubit 38,1484,0,barrier\nmain,barrier,Qubit 39,1484,0,barrier\nmain,barrier,Qubit 40,1484,0,barrier\nmain,barrier,Qubit 41,1484,0,barrier\nmain,barrier,Qubit 42,1484,0,barrier\nmain,barrier,Qubit 43,1484,0,barrier\nmain,barrier,Qubit 44,1484,0,barrier\nmain,barrier,Qubit 45,1484,0,barrier\nmain,barrier,Qubit 46,1484,0,barrier\nmain,barrier,Qubit 47,1484,0,barrier\nmain,barrier,Qubit 48,1484,0,barrier\nmain,barrier,Qubit 49,1484,0,barrier\nmain,barrier,Qubit 50,1484,0,barrier\nmain,barrier,Qubit 51,1484,0,barrier\nmain,barrier,Qubit 52,1484,0,barrier\nmain,barrier,Qubit 53,1484,0,barrier\nmain,barrier,Qubit 54,1484,0,barrier\nmain,barrier,Qubit 55,1484,0,barrier\nmain,barrier,Qubit 56,1484,0,barrier\nmain,barrier,Qubit 57,1484,0,barrier\nmain,barrier,Qubit 58,1484,0,barrier\nmain,barrier,Qubit 59,1484,0,barrier\nmain,barrier,Qubit 60,1484,0,barrier\nmain,barrier,Qubit 61,1484,0,barrier\nmain,barrier,Qubit 62,1484,0,barrier\nmain,barrier,Qubit 63,1484,0,barrier\nmain,barrier,Qubit 64,1484,0,barrier\nmain,barrier,Qubit 65,1484,0,barrier\nmain,barrier,Qubit 66,1484,0,barrier\nmain,barrier,Qubit 67,1484,0,barrier\nmain,barrier,Qubit 68,1484,0,barrier\nmain,barrier,Qubit 69,1484,0,barrier\nmain,barrier,Qubit 70,1484,0,barrier\nmain,barrier,Qubit 71,1484,0,barrier\nmain,barrier,Qubit 72,1484,0,barrier\nmain,barrier,Qubit 73,1484,0,barrier\nmain,barrier,Qubit 74,1484,0,barrier\nmain,barrier,Qubit 75,1484,0,barrier\nmain,barrier,Qubit 76,1484,0,barrier\nmain,barrier,Qubit 77,1484,0,barrier\nmain,barrier,Qubit 78,1484,0,barrier\nmain,barrier,Qubit 79,1484,0,barrier\nmain,barrier,Qubit 80,1484,0,barrier\nmain,barrier,Qubit 81,1484,0,barrier\nmain,barrier,Qubit 82,1484,0,barrier\nmain,barrier,Qubit 83,1484,0,barrier\nmain,barrier,Qubit 84,1484,0,barrier\nmain,barrier,Qubit 85,1484,0,barrier\nmain,barrier,Qubit 86,1484,0,barrier\nmain,barrier,Qubit 87,1484,0,barrier\nmain,barrier,Qubit 88,1484,0,barrier\nmain,barrier,Qubit 89,1484,0,barrier\nmain,barrier,Qubit 90,1484,0,barrier\nmain,barrier,Qubit 91,1484,0,barrier\nmain,barrier,Qubit 92,1484,0,barrier\nmain,barrier,Qubit 93,1484,0,barrier\nmain,barrier,Qubit 94,1484,0,barrier\nmain,barrier,Qubit 95,1484,0,barrier\nmain,barrier,Qubit 96,1484,0,barrier\nmain,barrier,Qubit 97,1484,0,barrier\nmain,barrier,Qubit 98,1484,0,barrier\nmain,barrier,Qubit 99,1484,0,barrier\nmain,barrier,Qubit 100,1484,0,barrier\nmain,barrier,Qubit 101,1484,0,barrier\nmain,barrier,Qubit 102,1484,0,barrier\nmain,barrier,Qubit 103,1484,0,barrier\nmain,barrier,Qubit 104,1484,0,barrier\nmain,barrier,Qubit 105,1484,0,barrier\nmain,barrier,Qubit 106,1484,0,barrier\nmain,barrier,Qubit 107,1484,0,barrier\nmain,barrier,Qubit 108,1484,0,barrier\nmain,barrier,Qubit 109,1484,0,barrier\nmain,barrier,Qubit 110,1484,0,barrier\nmain,barrier,Qubit 111,1484,0,barrier\nmain,barrier,Qubit 112,1484,0,barrier\nmain,barrier,Qubit 113,1484,0,barrier\nmain,barrier,Qubit 114,1484,0,barrier\nmain,barrier,Qubit 115,1484,0,barrier\nmain,barrier,Qubit 116,1484,0,barrier\nmain,barrier,Qubit 117,1484,0,barrier\nmain,barrier,Qubit 118,1484,0,barrier\nmain,barrier,Qubit 119,1484,0,barrier\nmain,barrier,Qubit 120,1484,0,barrier\nmain,barrier,Qubit 121,1484,0,barrier\nmain,barrier,Qubit 122,1484,0,barrier\nmain,barrier,Qubit 123,1484,0,barrier\nmain,barrier,Qubit 124,1484,0,barrier\nmain,barrier,Qubit 125,1484,0,barrier\nmain,barrier,Qubit 126,1484,0,barrier\nmain,barrier,Qubit 127,1484,0,barrier\nmain,barrier,Qubit 128,1484,0,barrier\nmain,barrier,Qubit 129,1484,0,barrier\nmain,barrier,Qubit 130,1484,0,barrier\nmain,barrier,Qubit 131,1484,0,barrier\nmain,barrier,Qubit 132,1484,0,barrier\nmain,broadcast,Hub,1048,436,broadcast\nmain,receive,Receive,1484,7,receive\nthen,x_0,Qubit 0,1499,8,play\nmain,barrier,Qubit 0,1516,0,barrier\nmain,barrier,Qubit 0,1516,0,barrier\nmain,barrier,Qubit 1,1516,0,barrier\nmain,barrier,Qubit 2,1516,0,barrier\nmain,barrier,Qubit 3,1516,0,barrier\nmain,barrier,Qubit 4,1516,0,barrier\nmain,barrier,Qubit 5,1516,0,barrier\nmain,barrier,Qubit 6,1516,0,barrier\nmain,barrier,Qubit 7,1516,0,barrier\nmain,barrier,Qubit 8,1516,0,barrier\nmain,barrier,Qubit 9,1516,0,barrier\nmain,barrier,Qubit 10,1516,0,barrier\nmain,barrier,Qubit 11,1516,0,barrier\nmain,barrier,Qubit 12,1516,0,barrier\nmain,barrier,Qubit 13,1516,0,barrier\nmain,barrier,Qubit 14,1516,0,barrier\nmain,barrier,Qubit 15,1516,0,barrier\nmain,barrier,Qubit 16,1516,0,barrier\nmain,barrier,Qubit 17,1516,0,barrier\nmain,barrier,Qubit 18,1516,0,barrier\nmain,barrier,Qubit 19,1516,0,barrier\nmain,barrier,Qubit 20,1516,0,barrier\nmain,barrier,Qubit 21,1516,0,barrier\nmain,barrier,Qubit 22,1516,0,barrier\nmain,barrier,Qubit 23,1516,0,barrier\nmain,barrier,Qubit 24,1516,0,barrier\nmain,barrier,Qubit 25,1516,0,barrier\nmain,barrier,Qubit 26,1516,0,barrier\nmain,barrier,Qubit 27,1516,0,barrier\nmain,barrier,Qubit 28,1516,0,barrier\nmain,barrier,Qubit 29,1516,0,barrier\nmain,barrier,Qubit 30,1516,0,barrier\nmain,barrier,Qubit 31,1516,0,barrier\nmain,barrier,Qubit 32,1516,0,barrier\nmain,barrier,Qubit 33,1516,0,barrier\nmain,barrier,Qubit 34,1516,0,barrier\nmain,barrier,Qubit 35,1516,0,barrier\nmain,barrier,Qubit 36,1516,0,barrier\nmain,barrier,Qubit 37,1516,0,barrier\nmain,barrier,Qubit 38,1516,0,barrier\nmain,barrier,Qubit 39,1516,0,barrier\nmain,barrier,Qubit 40,1516,0,barrier\nmain,barrier,Qubit 41,1516,0,barrier\nmain,barrier,Qubit 42,1516,0,barrier\nmain,barrier,Qubit 43,1516,0,barrier\nmain,barrier,Qubit 44,1516,0,barrier\nmain,barrier,Qubit 45,1516,0,barrier\nmain,barrier,Qubit 46,1516,0,barrier\nmain,barrier,Qubit 47,1516,0,barrier\nmain,barrier,Qubit 48,1516,0,barrier\nmain,barrier,Qubit 49,1516,0,barrier\nmain,barrier,Qubit 50,1516,0,barrier\nmain,barrier,Qubit 51,1516,0,barrier\nmain,barrier,Qubit 52,1516,0,barrier\nmain,barrier,Qubit 53,1516,0,barrier\nmain,barrier,Qubit 54,1516,0,barrier\nmain,barrier,Qubit 55,1516,0,barrier\nmain,barrier,Qubit 56,1516,0,barrier\nmain,barrier,Qubit 57,1516,0,barrier\nmain,barrier,Qubit 58,1516,0,barrier\nmain,barrier,Qubit 59,1516,0,barrier\nmain,barrier,Qubit 60,1516,0,barrier\nmain,barrier,Qubit 61,1516,0,barrier\nmain,barrier,Qubit 62,1516,0,barrier\nmain,barrier,Qubit 63,1516,0,barrier\nmain,barrier,Qubit 64,1516,0,barrier\nmain,barrier,Qubit 65,1516,0,barrier\nmain,barrier,Qubit 66,1516,0,barrier\nmain,barrier,Qubit 67,1516,0,barrier\nmain,barrier,Qubit 68,1516,0,barrier\nmain,barrier,Qubit 69,1516,0,barrier\nmain,barrier,Qubit 70,1516,0,barrier\nmain,barrier,Qubit 71,1516,0,barrier\nmain,barrier,Qubit 72,1516,0,barrier\nmain,barrier,Qubit 73,1516,0,barrier\nmain,barrier,Qubit 74,1516,0,barrier\nmain,barrier,Qubit 75,1516,0,barrier\nmain,barrier,Qubit 76,1516,0,barrier\nmain,barrier,Qubit 77,1516,0,barrier\nmain,barrier,Qubit 78,1516,0,barrier\nmain,barrier,Qubit 79,1516,0,barrier\nmain,barrier,Qubit 80,1516,0,barrier\nmain,barrier,Qubit 81,1516,0,barrier\nmain,barrier,Qubit 82,1516,0,barrier\nmain,barrier,Qubit 83,1516,0,barrier\nmain,barrier,Qubit 84,1516,0,barrier\nmain,barrier,Qubit 85,1516,0,barrier\nmain,barrier,Qubit 86,1516,0,barrier\nmain,barrier,Qubit 87,1516,0,barrier\nmain,barrier,Qubit 88,1516,0,barrier\nmain,barrier,Qubit 89,1516,0,barrier\nmain,barrier,Qubit 90,1516,0,barrier\nmain,barrier,Qubit 91,1516,0,barrier\nmain,barrier,Qubit 92,1516,0,barrier\nmain,barrier,Qubit 93,1516,0,barrier\nmain,barrier,Qubit 94,1516,0,barrier\nmain,barrier,Qubit 95,1516,0,barrier\nmain,barrier,Qubit 96,1516,0,barrier\nmain,barrier,Qubit 97,1516,0,barrier\nmain,barrier,Qubit 98,1516,0,barrier\nmain,barrier,Qubit 99,1516,0,barrier\nmain,barrier,Qubit 100,1516,0,barrier\nmain,barrier,Qubit 101,1516,0,barrier\nmain,barrier,Qubit 102,1516,0,barrier\nmain,barrier,Qubit 103,1516,0,barrier\nmain,barrier,Qubit 104,1516,0,barrier\nmain,barrier,Qubit 105,1516,0,barrier\nmain,barrier,Qubit 106,1516,0,barrier\nmain,barrier,Qubit 107,1516,0,barrier\nmain,barrier,Qubit 108,1516,0,barrier\nmain,barrier,Qubit 109,1516,0,barrier\nmain,barrier,Qubit 110,1516,0,barrier\nmain,barrier,Qubit 111,1516,0,barrier\nmain,barrier,Qubit 112,1516,0,barrier\nmain,barrier,Qubit 113,1516,0,barrier\nmain,barrier,Qubit 114,1516,0,barrier\nmain,barrier,Qubit 115,1516,0,barrier\nmain,barrier,Qubit 116,1516,0,barrier\nmain,barrier,Qubit 117,1516,0,barrier\nmain,barrier,Qubit 118,1516,0,barrier\nmain,barrier,Qubit 119,1516,0,barrier\nmain,barrier,Qubit 120,1516,0,barrier\nmain,barrier,Qubit 121,1516,0,barrier\nmain,barrier,Qubit 122,1516,0,barrier\nmain,barrier,Qubit 123,1516,0,barrier\nmain,barrier,Qubit 124,1516,0,barrier\nmain,barrier,Qubit 125,1516,0,barrier\nmain,barrier,Qubit 126,1516,0,barrier\nmain,barrier,Qubit 127,1516,0,barrier\nmain,barrier,Qubit 128,1516,0,barrier\nmain,barrier,Qubit 129,1516,0,barrier\nmain,barrier,Qubit 130,1516,0,barrier\nmain,barrier,Qubit 131,1516,0,barrier\nmain,barrier,Qubit 132,1516,0,barrier\nmain,measure_0,Qubit 0,1516,64,play\nmain,measure_0,Qubit 0,1580,72,play\nmain,measure_0,AWGR13_0,1627,240,capture\nmain,measure_0,Qubit 0,1652,64,play\nmain,barrier,Qubit 0,1906,0,barrier\nmain,barrier,Qubit 0,1906,0,barrier\nmain,barrier,Qubit 1,1906,0,barrier\nmain,barrier,Qubit 2,1906,0,barrier\nmain,barrier,Qubit 3,1906,0,barrier\nmain,barrier,Qubit 4,1906,0,barrier\nmain,barrier,Qubit 5,1906,0,barrier\nmain,barrier,Qubit 6,1906,0,barrier\nmain,barrier,Qubit 7,1906,0,barrier\nmain,barrier,Qubit 8,1906,0,barrier\nmain,barrier,Qubit 9,1906,0,barrier\nmain,barrier,Qubit 10,1906,0,barrier\nmain,barrier,Qubit 11,1906,0,barrier\nmain,barrier,Qubit 12,1906,0,barrier\nmain,barrier,Qubit 13,1906,0,barrier\nmain,barrier,Qubit 14,1906,0,barrier\nmain,barrier,Qubit 15,1906,0,barrier\nmain,barrier,Qubit 16,1906,0,barrier\nmain,barrier,Qubit 17,1906,0,barrier\nmain,barrier,Qubit 18,1906,0,barrier\nmain,barrier,Qubit 19,1906,0,barrier\nmain,barrier,Qubit 20,1906,0,barrier\nmain,barrier,Qubit 21,1906,0,barrier\nmain,barrier,Qubit 22,1906,0,barrier\nmain,barrier,Qubit 23,1906,0,barrier\nmain,barrier,Qubit 24,1906,0,barrier\nmain,barrier,Qubit 25,1906,0,barrier\nmain,barrier,Qubit 26,1906,0,barrier\nmain,barrier,Qubit 27,1906,0,barrier\nmain,barrier,Qubit 28,1906,0,barrier\nmain,barrier,Qubit 29,1906,0,barrier\nmain,barrier,Qubit 30,1906,0,barrier\nmain,barrier,Qubit 31,1906,0,barrier\nmain,barrier,Qubit 32,1906,0,barrier\nmain,barrier,Qubit 33,1906,0,barrier\nmain,barrier,Qubit 34,1906,0,barrier\nmain,barrier,Qubit 35,1906,0,barrier\nmain,barrier,Qubit 36,1906,0,barrier\nmain,barrier,Qubit 37,1906,0,barrier\nmain,barrier,Qubit 38,1906,0,barrier\nmain,barrier,Qubit 39,1906,0,barrier\nmain,barrier,Qubit 40,1906,0,barrier\nmain,barrier,Qubit 41,1906,0,barrier\nmain,barrier,Qubit 42,1906,0,barrier\nmain,barrier,Qubit 43,1906,0,barrier\nmain,barrier,Qubit 44,1906,0,barrier\nmain,barrier,Qubit 45,1906,0,barrier\nmain,barrier,Qubit 46,1906,0,barrier\nmain,barrier,Qubit 47,1906,0,barrier\nmain,barrier,Qubit 48,1906,0,barrier\nmain,barrier,Qubit 49,1906,0,barrier\nmain,barrier,Qubit 50,1906,0,barrier\nmain,barrier,Qubit 51,1906,0,barrier\nmain,barrier,Qubit 52,1906,0,barrier\nmain,barrier,Qubit 53,1906,0,barrier\nmain,barrier,Qubit 54,1906,0,barrier\nmain,barrier,Qubit 55,1906,0,barrier\nmain,barrier,Qubit 56,1906,0,barrier\nmain,barrier,Qubit 57,1906,0,barrier\nmain,barrier,Qubit 58,1906,0,barrier\nmain,barrier,Qubit 59,1906,0,barrier\nmain,barrier,Qubit 60,1906,0,barrier\nmain,barrier,Qubit 61,1906,0,barrier\nmain,barrier,Qubit 62,1906,0,barrier\nmain,barrier,Qubit 63,1906,0,barrier\nmain,barrier,Qubit 64,1906,0,barrier\nmain,barrier,Qubit 65,1906,0,barrier\nmain,barrier,Qubit 66,1906,0,barrier\nmain,barrier,Qubit 67,1906,0,barrier\nmain,barrier,Qubit 68,1906,0,barrier\nmain,barrier,Qubit 69,1906,0,barrier\nmain,barrier,Qubit 70,1906,0,barrier\nmain,barrier,Qubit 71,1906,0,barrier\nmain,barrier,Qubit 72,1906,0,barrier\nmain,barrier,Qubit 73,1906,0,barrier\nmain,barrier,Qubit 74,1906,0,barrier\nmain,barrier,Qubit 75,1906,0,barrier\nmain,barrier,Qubit 76,1906,0,barrier\nmain,barrier,Qubit 77,1906,0,barrier\nmain,barrier,Qubit 78,1906,0,barrier\nmain,barrier,Qubit 79,1906,0,barrier\nmain,barrier,Qubit 80,1906,0,barrier\nmain,barrier,Qubit 81,1906,0,barrier\nmain,barrier,Qubit 82,1906,0,barrier\nmain,barrier,Qubit 83,1906,0,barrier\nmain,barrier,Qubit 84,1906,0,barrier\nmain,barrier,Qubit 85,1906,0,barrier\nmain,barrier,Qubit 86,1906,0,barrier\nmain,barrier,Qubit 87,1906,0,barrier\nmain,barrier,Qubit 88,1906,0,barrier\nmain,barrier,Qubit 89,1906,0,barrier\nmain,barrier,Qubit 90,1906,0,barrier\nmain,barrier,Qubit 91,1906,0,barrier\nmain,barrier,Qubit 92,1906,0,barrier\nmain,barrier,Qubit 93,1906,0,barrier\nmain,barrier,Qubit 94,1906,0,barrier\nmain,barrier,Qubit 95,1906,0,barrier\nmain,barrier,Qubit 96,1906,0,barrier\nmain,barrier,Qubit 97,1906,0,barrier\nmain,barrier,Qubit 98,1906,0,barrier\nmain,barrier,Qubit 99,1906,0,barrier\nmain,barrier,Qubit 100,1906,0,barrier\nmain,barrier,Qubit 101,1906,0,barrier\nmain,barrier,Qubit 102,1906,0,barrier\nmain,barrier,Qubit 103,1906,0,barrier\nmain,barrier,Qubit 104,1906,0,barrier\nmain,barrier,Qubit 105,1906,0,barrier\nmain,barrier,Qubit 106,1906,0,barrier\nmain,barrier,Qubit 107,1906,0,barrier\nmain,barrier,Qubit 108,1906,0,barrier\nmain,barrier,Qubit 109,1906,0,barrier\nmain,barrier,Qubit 110,1906,0,barrier\nmain,barrier,Qubit 111,1906,0,barrier\nmain,barrier,Qubit 112,1906,0,barrier\nmain,barrier,Qubit 113,1906,0,barrier\nmain,barrier,Qubit 114,1906,0,barrier\nmain,barrier,Qubit 115,1906,0,barrier\nmain,barrier,Qubit 116,1906,0,barrier\nmain,barrier,Qubit 117,1906,0,barrier\nmain,barrier,Qubit 118,1906,0,barrier\nmain,barrier,Qubit 119,1906,0,barrier\nmain,barrier,Qubit 120,1906,0,barrier\nmain,barrier,Qubit 121,1906,0,barrier\nmain,barrier,Qubit 122,1906,0,barrier\nmain,barrier,Qubit 123,1906,0,barrier\nmain,barrier,Qubit 124,1906,0,barrier\nmain,barrier,Qubit 125,1906,0,barrier\nmain,barrier,Qubit 126,1906,0,barrier\nmain,barrier,Qubit 127,1906,0,barrier\nmain,barrier,Qubit 128,1906,0,barrier\nmain,barrier,Qubit 129,1906,0,barrier\nmain,barrier,Qubit 130,1906,0,barrier\nmain,barrier,Qubit 131,1906,0,barrier\nmain,barrier,Qubit 132,1906,0,barrier\nmain,barrier,Qubit 0,1906,0,barrier\n'

Na koniec możesz zwizualizować i zapisać taktowanie:

from qiskit_ibm_runtime.visualization import draw_circuit_schedule_timing

circuit_schedule = result[0].metadata["compilation"]["scheduler_timing"][
"timing"
]
fig = draw_circuit_schedule_timing(
circuit_schedule=circuit_schedule,
included_channels=None,
filter_readout_channels=False,
filter_barriers=False,
width=1000,
)

# Uncomment the following line to display the figure
# fig.show(renderer="notebook")

# Save to a file
# fig.write_html("scheduler_timing.html")

Następne kroki