Pular para o conteúdo principal

Visualizar o tempo de execução do Circuit

Package versions

O código nesta página foi desenvolvido usando os seguintes requisitos. Recomendamos usar essas versões ou mais recentes.

qiskit[all]~=2.4.0

Além de visualizar instruções em um Circuit, você pode querer visualizar o agendamento de um Circuit usando o método timeline_drawer do Qiskit. Essa visualização pode ajudar você a identificar rapidamente o tempo ocioso nos Qubits, por exemplo. No entanto, esse método não retorna resultados precisos para circuits dinâmicos. Para visualizar o agendamento de circuits dinâmicos, use o método draw_circuit_schedule_timing, conforme descrito no guia Visualizar o tempo do Circuit do Qiskit Runtime.

Exemplos

Para visualizar um programa de Circuit agendado, você pode chamar essa função com um conjunto de argumentos de controle. A maior parte da aparência da imagem de saída pode ser modificada por uma folha de estilo, mas isso não é obrigatório.

Desenhar com a folha de estilo padrão

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
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)

Saída da célula de código anterior

Desenhar com uma folha de estilo adequada para depuração de programas

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)

Saída da célula de código anterior

Você pode criar funções personalizadas de gerador ou layout e atualizar uma folha de estilo existente com essas funções personalizadas. Dessa forma, você pode controlar a maior parte da aparência da imagem de saída sem modificar a base de código do visualizador de Circuit agendado. Consulte a referência da API do timeline_drawer para mais exemplos.

Próximas etapas

Recomendações